Отслеживание потери соединения с использованием DownloadFileAsync - C#
Формулировка задачи:
Пример такой: Клиент начинает закачивать файл, посередине загрузки пропадает соединение с интернетом. Как отследить это, и вывести соответствующее сообщение и отменить загрузку?
в downloadfile это легко, а как на счет downloadfileasync?
Решение задачи: «Отслеживание потери соединения с использованием DownloadFileAsync»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
string url = "http://framework.zend.com/releases/ZendFramework-1.11.11/ZendFramework-1.11.11.zip";
WebClient downloader = new WebClient();
downloader.DownloadFileCompleted += new AsyncCompletedEventHandler(downloader_DownloadFileCompleted);
downloader.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downloader_DownloadProgressChanged);
downloader.DownloadFileAsync(new Uri(url), "C:\\temp.zip");
}
void downloader_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
label1.Text = e.BytesReceived + " " + e.ProgressPercentage;
}
void downloader_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
if (e.Error != null)
MessageBox.Show(e.Error.Message);
else
MessageBox.Show("Completed!!!");
}