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