阅读208 返回首页    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-03 12:54:24

  上一篇:go Unity开发-你必须知道的优化建议
  下一篇:go Invalid character in the given encoding. Line XX, position XX.解决方法