System.Net.WebClient.CancelAsync抛出ObjectDisposedException - “无法访问已关闭的文件。”

时间:2010-07-02 23:57:16

标签: c# asynchronous webclient

我正在尝试使用WebClient类异步下载文件。我为DownloadProgressChanged和DownloadFileCompleted添加了事件处理程序。如果我在下载进度事件处理程序中调用client.CancelAsync,我会收到一个ObjectDisposedException,告诉我该文件已关闭。如何正确取消异步文件下载?

1 个答案:

答案 0 :(得分:2)

事实证明,如果文件下载得足够快,文件被关闭后仍在处理进度更改事件,则WebClient会抛出,捕获和忽略ObjectDisposedException。