重现“服务器关闭了预期保持活动的连接。”

时间:2011-01-06 10:17:27

标签: c#

我们在winforms应用程序中使用WebClient,.NET 3.5sp1。对于一些用户来说这会产生 在带有消息的异常中:

“基础连接已关闭:服务器已关闭预期保持活动状态的连接。”

在网络上搜索一下,建议“修复”只是禁用http keepalive,我们真的不想做,有些人认为它可能是.NET库中的错误等。

错误消息表明它是一个keepaliv'ed http连接,它以某种方式被服务器(或代理)关闭,而WebClient没有正确检测到它。

我们正在考虑捕捉这个特定情况,并再次尝试请求。但是我们无法重现此异常。如此。

  1. 我们如何正确捕获产生上述错误消息的情况。

    catch(WebException ex){     if(ex.Message ==“底层连接已关闭:服务器已关闭预期保持活动状态的连接”){...}

    闻起来......糟糕。

  2. 有关我们如何重现上述例外的任何提示?

2 个答案:

答案 0 :(得分:2)

WebClient检测到这很好。因此例外。你需要找到行为不端的服务器。如果您找到该服务器,不太确定该怎么办,也许您可​​以向管理员发送一封精彩的电子邮件。

记录服务器URL。

答案 1 :(得分:1)

我建议您查看Misrosoft的this博客:Http客户端协议问题