Я пытаюсь реализовать собственный TrackingParticipant для WF 4. Я могу написать метод Track, но моя реализация будет медленной.
Как я могу реализовать переопределения Begin / EndTrack с помощью библиотеки параллельных задач .NET 4.0 (TPL)? Я просмотрел TPL и традиционное асинхронное программирование .NET, но не уверен, как применить это здесь.
Обратите внимание, что TrackingParticipant является частью .NET и имеет предопределенный классический асинхронный шаблон с использованием виртуальных методов.
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
}
}