2011-11-24 54 views
4

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

+0

你能发表一些代码吗? – slugster

+0

我面临同样的问题,您是否找到解决问题的方法? –

回答

1

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

+0

没有帮助:(OpenReadCompleted也没有提出 – rapt0r

+0

尝试在app.config中打开[System.Net Logging](http://msdn.microsoft.com/en-us/library/ty48b824.aspx)。会有一些调试信息可以从那里使用。 – Simon