重现"服务器关闭了预期保持活动的连接."

Hab*_*usa 10 c#

我们在winforms应用程序中使用WebClient,.NET 3.5sp1.对于某些用户,这会导致带有以下消息的异常:

"基础连接已关闭:预计将保持活动状态的连接已被服务器关闭."

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

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

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

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

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

    不好闻.

  2. 关于我们如何重现上述异常的任何提示?

Han*_*ant 2

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

记录服务器 URL。