我们在winforms应用程序中使用WebClient,.NET 3.5sp1.对于某些用户,这会导致带有以下消息的异常:
"基础连接已关闭:预计将保持活动状态的连接已被服务器关闭."
在网络上搜索一下,建议"修复"只是禁用http keepalive,我们真的不想做,有些人认为它可能是.NET库中的一个错误,等等.
错误消息表明它是一个keepaliv'ed http连接,以某种方式由服务器(或代理)关闭,没有WebClient的底层正确检测它.
我们正在考虑捕捉这个特定情况,并再次尝试请求.但是我们无法重现此异常.所以.
我们如何正确捕获产生上述错误消息的情况.
catch(WebException ex){if(ex.Message =="底层连接已关闭:服务器已关闭预期保持活动状态的连接"){...}
不好闻.
关于我们如何重现上述异常的任何提示?
WebClient 检测到这一点很好。因此例外。您需要找到行为异常的服务器。不太确定如果找到该服务器该怎么办,也许您可以向管理员发送一封友好的电子邮件。
记录服务器 URL。
| 归档时间: |
|
| 查看次数: |
13456 次 |
| 最近记录: |