.net 3.0和.net 4.5之间的操作不一致DownloadFileAsync

时间:2015-05-11 13:01:52

标签: c# .net-4.5 .net-3.0

以下代码:

{{1}}

在.NET 4.5中运行良好 - 它可以毫无问题地下载文件,但是在.NET 3.0或3.5中它不起作用 - 文件显示为0kb。

有人会知道为什么会出现这种差异吗?我想知道是否有一些额外的标头从3.0中缺少了4.5包含在内?

它也不会抛出任何错误。

更新

最终抛出"操作已经超时。"异常。

更新#2:

我从HTTPS更改为HTTP,这似乎适用于我的特定情况。实际上,我的HTTP调用将其重定向到HTTPS。但是,直接使用HTTPS并不适用于.NET 3.0。

1 个答案:

答案 0 :(得分:0)

默认超时可能会有所不同,具体取决于框架版本。这是Web.config文件中绑定配置的情况,所以我怀疑它也是这种情况。

我建议创建一个派生的WebClient类并覆盖GetWebRequest方法,以按照此帖子中的建议设置自定义超时:https://stackoverflow.com/a/3052637/2046539受到此博客帖子的启发:http://w3ka.blogspot.be/2009/12/how-to-fix-webclient-timeout-issue.html

作为一般规则:绝不信任默认值。您应该始终使用自己的值。大多数情况下,默认值没有记录,并且是实现细节。