手机
当前位置:查字典教程网 >编程开发 >C#教程 >基于.net中突破每客户端两个http连接限制的详细介绍
基于.net中突破每客户端两个http连接限制的详细介绍
摘要:在Http协议中,规定了同个Http请求的并发连接数最大为2.这个数值,可谓是太小了。而目前的浏览器,已基本不再遵循这个限制,但是DotNe...

在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>

【基于.net中突破每客户端两个http连接限制的详细介绍】相关文章:

关于c#中枚举类型支持显示中文的扩展说明

.net(c#)中的new关键字详细介绍

C# 写入XML文档三种方法详细介绍

C#.net中的类型转换详细介绍

客户端实现蓝牙接收(C#)知识总结

C#用Activex实现Web客户端读取RFID功能的代码

C#中怎么将一个List转换为只读的

深入C# 4.0 新特性dynamic、可选参数、命名参数的详细介绍

关于Flyweight模式应用实践的相关介绍

C#线程池用法详细介绍

精品推荐
分类导航