同事在做多线程访问webservice的时候,发现总是很慢,平均速度比单线程访问要慢得多,后来,用了多进程去访问,结果就好多了
后来上网查了一下,有个HTTP双连接限制的情况,原文如下
HTTP 双连接限制
HTTP 规范表明,一个 HTTP 客户端与任一服务器最多可以同时建立两个 TCP 连接。这可以防止单个浏览器在浏览某个页面(例如,具有 120 个嵌入的缩略图)时,由于连接请求过多而使服务器负载过重。此时,浏览器将仅创建 2 个连接,然后通过这两个管道开始发送 120 个 HTTP 请求,而不是创建 120 个 TCP 连接并通过每个连接来发送 HTTP 请求。对于中间层,此方法的问题在于,中间层可能会有 50 个同时请求连接的用户。如果不得不为每个用户进行一次 MapPoint .NET Web 服务调用,将会有 48 个用户等待两个管道中的一个空闲下来。
maxconnections
连接到 Web 资源的默认双连接限制可以通过一个名为 connectionManagement 的配置元素来控制。connectionManagement 设置允许您添加要让其采用非默认连接限制的站点的名称。可以将以下内容添加到典型的 Web.config 文件中,将您连接的所有服务器的连接限制默认值增加到 40。
<configuration>
<system.net>
<connectionManagement>
<add address= "* " maxconnection= "40 " />
&l