WebClient DownloadFileAsync 卡住了

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中一切正常。

我也遇到了同样的问题,你找到解决方法了吗? - V K
1个回答

1

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


没有帮助 :( OpenReadCompleted 也没有被触发。 - mxpv
尝试在 app.config 中打开System.Net日志记录,也许那里会有一些你可以使用的调试信息。 - Simon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接