Studiuję Zadania w .net 4.0 i ich anulowanie. Podoba mi się fakt, że TPL stara się rozwiązać problem anulowania w sposób kooperatywny.Jaki byłby dobry sposób anulowania długich operacji IO/Network przy użyciu Tasks?
Co jednak należy zrobić w sytuacji, gdy połączenie wewnątrz zadania jest blokowane i trwa długo? Dla przykładu IO/Network.
Oczywiście anulowanie zapisów byłoby niebezpieczne. Ale to są przykłady.
Przykład: Jak mogę to anulować? DownloadFile
może zająć dużo czasu.
Task.Factory.StartNew(() =>
WebClient client = new WebClient();
client.DownloadFile(url, localPath);
);
Czy możesz przesłać fragment kodu dotyczący swojej sytuacji? –