摘要: 前段时间用.net写了一个win服务,用来作Http并发请求,但发现请求数达到一定数量就停止了,剩余的并发请求出现了很多超时情况。查了资料发现,原来Httpwebrequest有一个默认连接数限制。win2003默认10个,一般个人操作系统2个。要想增加并发请求,必须修改Http的连接数。有两种方法可以修改:1,在代码中修改:ServicePointManager.DefaultConnectionLimit=100//把最大连接数改为1002,在配置文件中修改:<configuration><system.net><connectionManagement> 阅读全文
posted @ 2012-04-11 17:03 一修先生 阅读(5070) 评论(0) 推荐(1) 编辑
摘要: 在Http协议中,规定了同个Http请求的并发连接数最大为2. 这个数值,可谓是太小了。而目前的浏览器,已基本不再遵循这个限制,但是Dot Net平台上的 System.Net 还是默认遵循了这个标准的。从而造成了,在使用HttpWebRequset 或者 WebClient 利用多线程的方式,访问某个网站时,经常出现 连接被异常关闭 的错误,大大降低了效率。这个限制的值,是可以自己设置或配置的。System.Net.ServicePointManager.DefaultConnectionLimit 就是设置的地方。 可以根据实际情况,来设置这个值的大小,不过,建议不要超过1024,推荐为5 阅读全文
posted @ 2012-04-11 16:33 一修先生 阅读(16504) 评论(0) 推荐(3) 编辑
摘要: 随着REST风格的流行,直接通过 HttpWebRequest 进行服务调用的客户端应用越来越多。这里总结一些可能需要费时调查的经验,希望能帮助大家。 1. 用完的HttpWebRequest要Abort()或者要把 Response.Close() 否则会导致请求Timeout。 (HttpWebRequest.Method默认是GET)[c-sharp] view plain copy print ? static void Main( string []args) { for ( int i=0;i<10;i++) { Console.Write( "[{0}]Reque 阅读全文
posted @ 2012-04-11 16:32 一修先生 阅读(12306) 评论(1) 推荐(0) 编辑