Из замечаний по функции WebClient.DownloadFileAsync
:
Файл загружается асинхронно с использованием ресурсов потоков, которые автоматически выделяются из пула потоков.Чтобы получить уведомление о доступности файла, добавьте обработчик события в событие DownloadFileCompleted.
Документация MSDN
Похоже, лучше выбратьФункция, когда файл завершен, будет включать использование обработчика событий.Вот пример использования обработчика DownloadFileCompleted
:
// Sample call : DownLoadFileInBackground2 ("http://www.contoso.com/logs/January.txt");
public static void DownLoadFileInBackground2 (string address)
{
WebClient client = new WebClient ();
Uri uri = new Uri(address);
// Specify that the DownloadFileCallback method gets called
// when the download completes.
client.DownloadFileCompleted += new AsyncCompletedEventHandler (DownloadFileCallback2);
// Specify a progress notification handler.
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback);
client.DownloadFileAsync (uri, "serverdata.txt");
}
Документация MSDN