C#设置System.Net.ServicePointManager.DefaultConnectionLimit,突破Http协议的并发连接数限制

转载 2015年11月17日 19:03:59

在Http协议中,规定了同个Http请求的并发连接数最大为2. 这个数值,可谓是太小了。

而目前的浏览器,已基本不再遵循这个限制,但是Dot Net平台上的 System.Net 还是默认遵循了这个标准的。

从而造成了,在使用HttpWebRequset 或者 WebClient 利用多线程的方式,访问某个网站时,经常出现 连接被异常关闭 的错误,大大降低了效率。

这个限制的值,是可以自己设置或配置的。

System.Net.ServicePointManager.DefaultConnectionLimit 就是设置的地方。 可以根据实际情况,来设置这个值的大小,不过,建议不要超过1024,推荐为512,已经足够了。

当然,也可以直接在程序的 app.config中配置这个值。

此值设置后,只对以后发起的HTTP请求有效。

相关文章推荐

C#中HttpWebRequest的GetRequestStream执行的效率太低,甚至偶尔死掉

用C#模拟网页登陆,其中去请求几个页面,会发起对应的http的请求request,其中keepAlive设置为true,提交请求后,然后会有对应的response: resp = (HttpWe...
  • kufeiyun
  • kufeiyun
  • 2014年04月19日 15:14
  • 13535

【转】C#多线程环境下调用 HttpWebRequest 并发连接限制 HttpClient是否有默认并发数限制? 在.Net 4.0之前,一直是依靠HttpWebRequest实现Htt

【转】C#多线程环境下调用 HttpWebRequest 并发连接限制 HttpClient是否有默认并发数限制? 在.Net 4.0之前,一直是依靠HttpWebRequest实...
  • lwsas1
  • lwsas1
  • 2017年09月19日 11:42
  • 201

类型初始值设定项引发异常的解决方法

一、产生TypeInitializationException的情况就包含以下几种 1. 访问类的某一静态成员,而其他静态成员的初始化(或静态构造函数)中产生异常。例如访问ClassHelp...

【经验总结】.Net的并发连接数限制问题

  最近在项目中遇到了很棘手的问题,查到最后发现是由于HttpWebRequest对于同一个domain的请求建立的连接数同时不能超过两个的限制造成的。我用这篇短文把对这个问题的处理记录下来,同时也做...
  • ulark
  • ulark
  • 2009年12月21日 12:57
  • 698

C#多线程环境下调用 HttpWebRequest 并发连接限制

HttpClient是否有默认并发数限制? 在.Net 4.0之前,一直是依靠HttpWebRequest实现Http操作的。它默认有一个非常保守的同一站点下最大2并发数限制,导致默认情况下Http...
  • xueqwst
  • xueqwst
  • 2013年07月05日 15:58
  • 1461

[C#] WebClient性能优化

C#的WebClient需要修改默认设置,否则性能太差了。
  • wwwsq
  • wwwsq
  • 2015年03月07日 23:25
  • 5357

Vulkan的分层设计

Vulkan驱动层提供了简单高效的API。作为Vulkan API的使用者,我们要严格遵循Vulkan API的使用规则。如果我们违反了这些规则,Vulkan只会返回很少的反馈,它只会报告一部分严重和...
  • mythma
  • mythma
  • 2016年05月11日 10:09
  • 1381

异步请求引发的Chrome死锁

浏览器支持的并发异步请求数目是有限的,当需要的资源过多时候(远远大于并发数目),就需要自己管理XHR请求。在实现自己的XHR的Manger时候,当请求数目达到2000多的时候,经常会遇到chrome的...
  • mythma
  • mythma
  • 2016年04月15日 15:45
  • 3756

Nginx模块 ngx_http_limit_conn_module 限制连接数

The ngx_http_limit_conn_module module is used to limit the number of connections per the defined key...

nginx限制连接数(ngx_http_limit_conn_module)模块

ngx_http_limit_conn_module 对于一些服务器流量异常、负载过大,甚至是大流量的恶意攻击访问等,进行并发数的限制;该模块可以根据定义的键来限制每个键值的连接数,只有那些正在被处理...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#设置System.Net.ServicePointManager.DefaultConnectionLimit,突破Http协议的并发连接数限制
举报原因:
原因补充:

(最多只允许输入30个字)