Witam Pracuję nad platformą .NET 4.5. Piszę program do pobierania dla mojej aplikacji. Oto kod:Wstrzymywanie i wznawianie pobierania WPF
private void Download(Dictionary<int, FileAndLinkClass> MyLinks)
{
ApplicationDownloadThread = new Thread(() =>
{
foreach (KeyValuePair<int, FileAndLinkClass> item in MyLinks)
{
fileNo++;
WebClient myWebClient = new WebClient();
myWebClient.DownloadProgressChanged += MyWebClient_DownloadProgressChanged;
myWebClient.DownloadFileCompleted += MyWebClient_DownloadFileCompleted;
// Download the Web resource and save it into the current filesystem folder.
string downloadedFileAdress = System.IO.Path.Combine(fileLocation, $"{item.Value.FileName}");
myWebClient.DownloadFileAsync(new Uri(item.Value.Link), downloadedFileAdress);
while (myWebClient.IsBusy)
{
}
}
});
ApplicationDownloadThread.IsBackground = false;
ApplicationDownloadThread.Start();
//UnZipAndCreateUpdatePackage(MyLinks);
}
Teraz chcę kliknij na przycisk pobierania musi się zatrzymać i co innego przycisku kliknij pobieranie muszą być wznowione. Próbowałem pracować z właściwością .set()
zdarzenia AutoReset i jego właściwością .Reset()
, ale nie działało. Potrzebuję pomocy. Mój kod kliknięcia przycisku to:
private AutoResetEvent waitHandle = new AutoResetEvent(true);
private void StartDownloadBtn_Click(object sender, RoutedEventArgs e)
{
waitHandle.Set();
}
private void StopDownloadBtn_Click(object sender, RoutedEventArgs e)
{
waitHandle.Reset();
}
Próbowałem również tego linku How to pause/suspend a thread then continue it?. nic się nie dzieje
Przeszedłem także przez Adding pause and continue ability in my downloader, ale nie udało mi się włączyć rozwiązania do powyższego kodu, ponieważ aktualizuję również postęp pobierania w interfejsie użytkownika.
Próbowałeś czegoś takiego: http://stackoverflow.com/questions/2430930/how-to-pause-suspend-a-thread-then- continue-it – bakala12
@ bakala12 tak Próbowałem powyższych. Brak wyników –
Prawdopodobny duplikat opcji [Dodawanie pauzy i kontynuacja w moim programie do pobierania] (http://stackoverflow.com/questions/15995705/adding-pause-and-continue-ability-in-my-downloader) – slawekwin