我们在winforms应用程序中使用WebClient,.NET 3.5sp1。对于一些用户来说这会产生 在带有消息的异常中:
“基础连接已关闭:服务器已关闭预期保持活动状态的连接。”
在网络上搜索一下,建议“修复”只是禁用http keepalive,我们真的不想做,有些人认为它可能是.NET库中的错误等。
错误消息表明它是一个keepaliv'ed http连接,它以某种方式被服务器(或代理)关闭,而WebClient没有正确检测到它。
我们正在考虑捕捉这个特定情况,并再次尝试请求。但是我们无法重现此异常。如此。
我们如何正确捕获产生上述错误消息的情况。
catch(WebException ex){ if(ex.Message ==“底层连接已关闭:服务器已关闭预期保持活动状态的连接”){...}
闻起来......糟糕。
有关我们如何重现上述例外的任何提示?
答案 0 :(得分:2)
WebClient检测到这很好。因此例外。你需要找到行为不端的服务器。如果您找到该服务器,不太确定该怎么办,也许您可以向管理员发送一封精彩的电子邮件。
记录服务器URL。
答案 1 :(得分:1)
我建议您查看Misrosoft的this博客:Http客户端协议问题