原因就是C#中使用多线程使用HttpWebRequest时,默认的连接数只有2。
然后有时候因为对方服务器的原因导致访问超时,如果没有做超时处理的话,request对象就不会被释放,后面便导致一系列的问题。
解决方法之一就是在调用HttpWebRequest对象之前将连接数改大。
在一般处理程序中添加
System.Net.ServicePointManager.DefaultConnectionLimit = 24