Я пытаюсь реализовать собственный 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
}
}