`
tubaluer
  • 浏览: 1440207 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

HttpWebRequest 二三事

 
阅读更多

随着REST风格的流行,直接通过 HttpWebRequest 进行服务调用的客户端应用越来越多。这里总结一些可能需要费时调查的经验,希望能帮助大家。

1. 用完的HttpWebRequest要Abort()或者要把 Response.Close()
否则会导致请求Timeout。 (HttpWebRequest.Method默认是GET)


上面的代码,会从第3次Request开始出现Timeout,因为GetResponse 后 Stream打开未关闭。

解决方法:上面的代码中加上 resp.Close(); 或者 webReq.Abort(); 就能解决。

2. 多线程中调用 HttpWebRequest 时,需要设置 ServicePointManager.DefaultConnectionLimit 数(默认连接数是 2)。
当多线程请求时,同时的连接数超过Limit时,GetResponse会抛出 Timeout WebException。

解决方法:在GetResponse()之前设置ServicePointManager.DefaultConnectionLimit = 100;

3. 当请求一个基于SSL的服务时,默认的验证行为都在 ServicePointManager 定义:
ServicePointManager.CheckCertificateRevocationList = true;

如果请求的服务端证书没有第三方的认证支持,则请求会失败,如果要完全信任服务端证书,则可以将
CheckCertificateRevocationList设为 false。

4. 可以在 <system.net> 配置节中配置 HttpWebRequest 的属性,包括 WebProxy

分享到:
评论

相关推荐

    httpRequest

    (HttpWebRequest)WebRequest.Create(strUrlLine); 15. httpReq.Method = strHttpMethod; 16. httpReq.ContentType = "application/x-www-form-urlencoded"; if (String.Compare(strHttpMethod, METHOD_POST, true) ...

    C#基类库大全

    1.C#HttpHelper,Httpwebrequest,请求时无视编码,无视证书,无视Cookie,网页抓取 访问数据库相关 1.SqlHelper类 2.一个操作Sql2005数据库的类(备份,还原,分离,附加,添加删除用户等操作) 帮助类 1.最新的...

    俄国牛人写的开源爬虫xNet.zip

     首先来一个读取cnblogs首页的案例,HttpWebRequest在上一篇已经举例,我们看看xNet是怎么写的using (var request = new xNet.HttpRequest()){ var html = request.Get("http://www.cnblogs.com").ToString();...

    C#基类库大全下载--苏飞版

    23.图片 ImageClass ImageDown ImageUpload 24.网络 NetHelper 25.文件操作类 DirFile FileOperate INIFile 26.序列化 Serialize 序列化帮助类,还有例子 SerializeHelper 序列化帮助类,Xml序列化,Json序列化,...

    .net技术资料大全(语言规范 源码教程 学习笔记 技术资料 .net代码生成器)

    23_串行化和并行化.htm.txt 技术资料 ACCESS数据库操作类.txt ASP.NET常用代码.txt asp.net常用函数表.txt Asp.net的身份验证.txt ASP导出Excel数据的四种方法.txt C#调用存储过程.txt CheckBox控件.txt ...

    ASP升级.net资料大全(c#入门 语言规范 源码教程 学习笔记 技术资料 面试题 asp与.net代码生成器)

    23_串行化和并行化.htm.txt 技术资料 ACCESS数据库操作类.txt ASP.NET常用代码.txt asp.net常用函数表.txt Asp.net的身份验证.txt ASP导出Excel数据的四种方法.txt C#调用存储过程.txt CheckBox控件.txt ...

    Silverlight2.0功能展示Demo源码

    内插关键帧动画 - 在 Color 或 Double 或 Point 动画中内插关键帧,以做线性, 离散, 三次贝塞尔曲线的动画处理 动态改变动画 - 通过程序控制,动态地改变动画 10、Silverlight(12) - 2.0外观之样式, 模板, 视觉状态...

    ASP.net技术内幕

    7.5.2 使用DeviceSpecific选择设备 7.5.3 使用表单模板集 7.6 小结 &lt;br/&gt;第8章 使用第三方控件 &lt;br/&gt;8.1 使用Microsoft Internet Explorer WebControls 8.1.1 使用TreeView控件 ...

    asp.net技术内幕(1)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    asp.net技术内幕(2)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    asp.net技术内幕(5)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    asp.net技术内幕(4)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    asp.net技术内幕(3)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    C#基类库(苏飞版)

    5.方法二:随机生成字符串(数字和字母混和) 6.从字符串里随机得到,规定个数的字符串. 复制代码 22.条形码 BarCodeToHTML 本类是个条码生成类,大家可根据需要自己设置,非常好用 23.图片 ImageClass 主要功能...

Global site tag (gtag.js) - Google Analytics