閱讀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.解決方法