在做一个接口的时候,部分需求时根据用户指定的Url,通过Post方式来发送数据,之前的多次调试,一直都是可以正常发送数据获取返回值,但是后来几次的调试,在没有改变代码的前提下,结果GetResponse却始终会超时死掉。
经过上网百度一共找出了下面几种原因与对应的解决办法:
1、修改DefaultConnectionLimit 为更大的值(系统默认为2)
System.Net.ServicePointManager.DefaultConnectionLimit = 50;2、在HttpWebRequest req = (HttpWebRequest)WebRequest.Create(v_strURL)前面添加一句垃圾回收
System.GC.Collect();
3、每次使用完HttpWebRequest 去关闭对应的http connectionreq.Close(); req=null;最好对应的HttpWebResponse也要close:
rep.Close(); rep = null;
详细代码案例:点击打开链接
更加详细的延时分析:点击打开链接