6

再会。我正在使用 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一切正常。

4

1 回答 1

1

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

于 2011-11-24T17:32:20.847 回答