WebClient DownloadFileAsync挂起

美好的一天。 我正在使用DownloadFileAsync处理文件下载器类。 在正常情况下一切正常。 但是当我下载文件并禁用网络连接时,下载进度只是停止无限时间,不会引发任何错误或调用任何回调。 任何想法如何处理这种情况? 非常感谢。

_client.Proxy = WebRequest.DefaultWebProxy; _client.DownloadProgressChanged += (sender, argv) => { actionCallback(argv.ProgressPercentage); } _client.DownloadFileCompleted += (sender, argv) => { if (argv.Error != null) { _exc = argv.Error; } set event } Task.Factory.StartNew(() => { _client.DownloadFileAsync(request, targetFileName); thread sync if (_exc != null) { logger.ErrorException(exc); throw; } 

问题出现在Vista和2k8下。 在Win7上一切正常。

向WebClient.OpenReadCompleted事件添加事件处理程序。 如果发生错误,OpenReadCompletedEventArgs具有Error的布尔属性。