WebClient异步下载文件时检测到连接断开(C#)

WebClient异步下载文件时检测到连接断开(C#),c#,asynchronous,download,webclient,C#,Asynchronous,Download,Webclient,我使用WebClient的DownloadFileAsync(在C#)方法异步下载文件。我将事件处理程序附加到DownloadProgressChanged和DownloadFileCompleted事件。我希望通过DownloadFileCompleted事件处理程序中AsyncCompletedEventArgs的Error属性得到任何错误的通知。如果在下载开始之前连接不存在,那么它可以正常工作。它带有正确的错误,我在上面提到的属性中得到了错误。但是,如果在下载过程中连接中断,则什么也不会发

我使用WebClient的DownloadFileAsync(在C#)方法异步下载文件。我将事件处理程序附加到DownloadProgressChanged和DownloadFileCompleted事件。我希望通过DownloadFileCompleted事件处理程序中AsyncCompletedEventArgs的Error属性得到任何错误的通知。如果在下载开始之前连接不存在,那么它可以正常工作。它带有正确的错误,我在上面提到的属性中得到了错误。但是,如果在下载过程中连接中断,则什么也不会发生。事件处理程序未被调用,它将一直等待。我应该如何处理这种情况?
谢谢。

执行您要求的操作的最佳方法可能是实现您自己的通话超时

基本上,创建一个计时器,该计时器在每次触发DownloadProgressChanged事件时重置。这样,如果您在超时时间内没有获得任何进度更新,您可以在WebClient上调用CancelAsync命令,这样您就不会永远等待


这是我能做到的唯一方法。

你能为这个创建system.net跟踪日志吗?请参见如何执行此操作。然后将日志发布到pastebin.com上,并将指向日志的链接放在此处。我们可以看看。从表面上看,这听起来像一个bug,但日志文件将有助于调试。