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 connectionreq.Close(); req=null;最好對應的HttpWebResponse也要close:
rep.Close(); rep = null;
詳細代碼案例:點擊打開鏈接
更加詳細的延時分析:點擊打開鏈接
最後更新:2017-04-03 20:19:17