System.Net.WebClient.CancelAsync создает исключение ObjectDisposedException - «Не удается получить доступ к закрытому файлу». - PullRequest
1 голос
/ 03 июля 2010

Я пытаюсь загрузить файл асинхронно, используя класс WebClient. Я добавил обработчики событий для DownloadProgressChanged и DownloadFileCompleted. Если я вызываю client.CancelAsync в обработчике события прогресса загрузки, я получаю исключение ObjectDisposedException, сообщающее, что файл закрыт. Как правильно отменить загрузку асинхронного файла?

1 Ответ

2 голосов
/ 03 июля 2010

Оказывается, что ObjectDisposedException выбрасывается, перехватывается и игнорируется WebClient, если файл загружается достаточно быстро, чтобы события изменения прогресса все еще обрабатывались после закрытия файла.

...