HttpWebrequest使用的注意點html
一、HttpWebrequest相關屬性的設置以及默認鏈接數量限制 System.Net.ServicePointManager.DefaultConnectionLimitweb
HttpWebRequest request=null; request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST";//GET,PUT等 request.Timeout = xxxx;//單位是毫秒 request.ContentType = "xxxx" ; webRequest.KeepAlive = false; webRequest.Proxy = null; System.Net.ServicePointManager.DefaultConnectionLimit = 200;
二、HttpWebrequest相關方法的使用以及資源的釋放url
Stream myRequestStream = request.GetRequestStream(); myRequestStream.Write(byte[] buffer, int offset, int count);//寫入請求流的內容 myRequestStream.Close();//HttpWebRequest的RequestStream及時關閉 HttpWebResponse response = (HttpWebResponse)request.GetResponse();//發送 Stream myResponseStream = response.GetResponseStream(); //獲取返回值 StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close();//及時關閉 myResponseStream.Close();//及時關閉 response.Close();//及時關閉 最後要把HttpWebRequest及時關閉釋放 if (request != null) { request.Abort(); }
三、HttpWebRequest使用過程當中,各類資源的釋放,有的地方也能夠使用Using來進行釋放.具體使用方法能夠參照Using的用法來使用。spa
四、HttpWebRequest使用若是沒有設置正確的屬性以及資源沒有及時釋放的話,會致使不少問題code
例如:HttpWebRequest獲取GetResponse時會出現,長時間無響應。本做者在使用HttpWebRequest的時候就遇到過不少相似的問題,最後無外乎都是HttpWebRequest的屬性和方法中的資源沒有及時釋放致使不少問題。
htm
其餘出現的問題,能夠參照: blog
https://www.cnblogs.com/summer_adai/archive/2013/04/26/3045261.html,utf-8
https://www.cnblogs.com/summer_adai/archive/2013/04/26/3045253.html資源