阅读829 返回首页    go 阿里云 go 技术社区[云栖]


HttpWebRequest的GetRespons偶尔超时、死掉的原因及解决办法

        在做一个接口的时候,部分需求时根据用户指定的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 connection
req.Close();
req=null;
最好对应的HttpWebResponse也要close:
rep.Close();
rep = null;

详细代码案例:点击打开链接

更加详细的延时分析:点击打开链接

最后更新:2017-04-04 07:36:07

  上一篇:go android的listview item点击详解
  下一篇:go Windows系统时间转化为固定长度为8位的字符串