zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    android个版本对应的SDK level,最新包括android10.0
    SQL语句 存在就更新不存在就插入
    forward和sendredirect
    JavaBean
    Cookie单点登录跨域问题
    JSP
    JSP内置对象
    Spring学习笔记
    事务
    AOP实现方式
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/11679049.html
Copyright © 2011-2022 走看看