HttpWebrequest使用的注意點


HttpWebrequest使用的注意點

1、HttpWebrequest相關屬性的設置以及默認連接數量限制 System.Net.ServicePointManager.DefaultConnectionLimit

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;

2、HttpWebrequest相關方法的使用以及資源的釋放

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();
    }

 

3、HttpWebRequest使用過程中,各種資源的釋放,有的地方也可以使用Using來進行釋放.具體使用方法可以參照Using的用法來使用。

4、HttpWebRequest使用如果沒有設置正確的屬性以及資源沒有及時釋放的話,會導致很多問題

例如:HttpWebRequest獲取GetResponse時會出現,長時間無響應。本作者在使用HttpWebRequest的時候就遇到過很多類似的問題,最后無外乎都是HttpWebRequest的屬性和方法中的資源沒有及時釋放導致很多問題。

 

其他出現的問題,可以參照: 

https://www.cnblogs.com/summer_adai/archive/2013/04/26/3045261.html

https://www.cnblogs.com/summer_adai/archive/2013/04/26/3045253.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM