欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于.net中突破每客户端两个http连接限制的详细介绍

程序员文章站 2023-12-18 12:06:22
在http协议中,规定了同个http请求的并发连接数最大为2. 这个数值,可谓是太小了。而目前的浏览器,已基本不再遵循这个限制,但是dot net平台上的 system.n...
在http协议中,规定了同个http请求的并发连接数最大为2. 这个数值,可谓是太小了。
而目前的浏览器,已基本不再遵循这个限制,但是dot net平台上的 system.net 还是默认遵循了这个标准的。
从而造成了,在使用httpwebrequset 或者 webclient 利用多线程的方式,访问某个网站时,经常出现 连接被异常关闭的错误,大大降低了效率。
这个限制的值,是可以自己设置或配置的。
system.net.servicepointmanager.defaultconnectionlimit 就是设置的地方。 可以根据实际情况,来设置这个值的大小,不过,建议不要超过1024,推荐为512,已经足够了。
当然,也可以直接在程序的 app.config中配置这个值。
此值设置后,只对以后发起的http请求有效。
两个办法:
1。限制针对应用程序域,为每个线程使用不同的应用程序域:
复制代码 代码如下:

appdomain appdomain = appdomain.createdomain("");
appdomain.executeassembly(@"testclient.exe");
appdomain.unload(appdomain);

2。在app.config配置文件中添加:
复制代码 代码如下:

<system.net>
 <connectionmanagement>
  <add address="*" maxconnection="100"/>
 </connectionmanagement>
</system.net>

上一篇:

下一篇: