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