我们有许多网络服务器(15),每个服务器都有许多网址(30)。 我已经写了一个Windows桌面应用程序,它会出现并点击每个服务器和每个url组合。 (使用httpWebRequest.Proxy来执行此操作)。 它通常一次仅用于2台服务器。总共有60个请求。
第一个问题是2连接限制,所以我将其添加到表单加载: ServicePointManager.DefaultConnectionLimit = 500
这有帮助,但后来我似乎遇到了另一个限制。
在我们为这些网站推出代码后,他们可能需要一段时间才能做出回应。初始化过程需要30-40秒!那是另一个故事。
但似乎有Windows XP连接限制。如果我打开IE浏览器并尝试访问某个网站,当我运行我的应用程序来检查网站时,IE需要很长时间,直到它返回页面。一旦应用程序开始获取请求并关闭它们,那么IE也会得到它的响应。
此外,我们调用的页面还为我们提供了调用其他WebService调用所需时间的时间。这些时间有时很慢,但有时很快。 我在每个HTTP请求上都有一个计时器,一旦我发出请求就会启动计时器。有时,页面指定的响应时间与HTTP请求的计时器之间的差异非常大,例如40秒。
所以我认为正在发生的是请求正在排队并且它的计时器正在运行,但尚未发送到该页面。
有谁知道我需要更改以增加Windows XP中的总连接限制?我已经阅读了有关注册表更改或tcpip.sys编辑的内容,但希望得到Stackoverflow智能和智能组的明确答案。
谢谢,我希望这是有道理的。
答案 0 :(得分:1)
您可以尝试将此添加到您的app.config:
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="65535" />
</connectionManagement>
</system.net>
</configuration>