在做一个接口的时候,部分需求时根据用户指定的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;
详细代码案例:点击打开链接
更加详细的延时分析:点击打开链接
本文探讨了在使用HTTP POST请求时遇到的超时问题,并提供了三种有效的解决方案:增加连接限制、进行垃圾回收操作以及正确关闭HTTP连接。
412

被折叠的 条评论
为什么被折叠?



