我正在尝试为WF 4实现自定义TrackingParticipant。我可以编写Track方法,但是我的实现会很慢。
如何使用.NET 4.0的任务并行库(TPL)实现Begin/EndTrack重写?我已经查看了TPL和传统的.NET异步编程,但不确定如何在此处应用它。
请注意,TrackingParticipant是.NET的一部分,并且具有使用虚拟方法预定义的Classic异步模式。
public class MyTrackingParticipant : TrackingParticipant
{
protected override IAsyncResult BeginTrack(
TrackingRecord record, TimeSpan timeout,
AsyncCallback callback, object state)
{
// ?
}
protected override void EndTrack(IAsyncResult result)
{
// ?
}
protected override void Track(TrackingRecord record, TimeSpan timeout)
{
// synchronous code to be called
}
}