Bazı web sitelerini bir döngü içinde WebClient.DownloadString
arayarak indirmek için bir BackgroundWorker
kullanıyordum. Kullanıcının, indirme öğelerinin ortasında iptal etmesini istedim, böylece 'un döngünün ortasında olduğunu bulduğumda CancelAsync
'u aradım.Bir BackgroundWorker'ı nasıl duraklatabilirim? Veya benzer bir
Ama şimdi fonksiyon DownloadString
tür bazen donuyor fark, bu yüzden (BackgroundWorker
ile oluşturulan diğer iş parçacığı içindeki tüm bu) yerine DownloadStringAsync
kullanmaya karar verdi. Döngü ve işlevden çıktıktan sonra tüm kodumu yeniden yazmak istemediğimden, DownloadStringAsync
numaralı telefonu çağırdıktan sonra, bir şey yaptıktan sonra bir süre döngü yaptıktan sonra hiçbir şey yapmadım ancak bool Stop
değişkenini kontrol ettiğimde DownloadStringCompleted
olay işleyicisi çağrılır veya kullanıcı işlemi iptal etmek istediğinde.
Şimdi, garip olan şey, hata ayıklama sürümünde iyi çalışmasıdır; ancak bir sürümde, program, ana iş parçacığı gibi, zaman döngüsünde donuyor.
WaitHandle sadece mükemmel çalışıyor. Teşekkür ederim! – Juan
Arka plan işçisinde http://stackoverflow.com/questions/8359058/pause-resume-loop-in-background-worker adresindeki Duraklat/Devam döngüsü –