HttpWebRequest类库注意事项以及常见问题

ServicePoint: 提供HTTP连接的连接管理
ServicePointManager: 管理ServicePoint 对象的集合

注意事项:
1. 将http的request的keepAlive设置为false //如果不是必须的要keepalive的,那么就要设置KeepAlive为false, 默认是True

2. 修改System.Net.ServicePointManager.DefaultConnectionLimit = 50; //这个值默认是

3. 根据自己的情况修改
释放资源(比如HttpWebReques对象和HttpWebResponse对象)
if (resp != null)
{
resp.Close();
}
if (req != null)
{
req.Abort();
}

4. 创建HttpWebRequest对象之前,强制回收垃圾:
System.GC.Collect()

5. 在Http协议中,规定了同个Http请求的并发连接数最大为2. 这个数值,可谓是太小了。
而目前的浏览器,已基本不再遵循这个限制,但是Dot Net平台上的 System.Net 还是默认遵循了这个标准的。
从而造成了,在使用HttpWebRequset 或者 WebClient 利用多线程的方式,访问某个网站时,经常出现 连接被异常关闭 的错误,大大降低了效率。
这个限制的值,是可以自己设置或配置的。
System.Net.ServicePointManager.DefaultConnectionLimit 就是设置的地方。 可以根据实际情况,来设置这个值的大小,不过,建议不要超过1024,推荐为512,已经足够了。
当然,也可以直接在程序的 app.config中配置这个值。
此值设置后,只对以后发起的HTTP请求有效。

6. 过多的连接,会导致Request和Response的销毁不执行,可以再最开始的时候设置强制回收垃圾:
System.GC.Collect

原文地址:https://www.cnblogs.com/zhiyong-ITNote/p/8146073.html

时间: 2024-10-22 21:14:09

HttpWebRequest类库注意事项以及常见问题的相关文章

IOS 编程中引用第三方的方类库的方法及常见问题

方法一:直接复制所有源文件到项目中 这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可. 注意: 1. 如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库. 2. 如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的Targets – Build Parses 里找到第三方类库的.m文件,并为它们加上-fno-objc-arc标记. 3. 对于在未启用ARC的项目用引用使用了ARC的第三方类库,则需

winpcap使用注意事项及常见问题

1.获取网卡设备名称.名称不是在ipconfig里显示的那样,而是需要调用函数pcap_findalldevs. 2.winpcap捕获3G网卡等拨号网络数据需要安装netmon,http://www.microsoft.com/en-us/download/details.aspx?id=4865. 3.winpcap默认只支持visual c++. 4.winpcap对拨号网络PPP只支持到XP系统.如果想要在Vista以上捕获3G数据包,可以购买能够将3G数据转换成以太网的3G网卡,如:H

IOS 编程中引用第三方的方类库的方法及常见问题(转载)

//原文:http://www.th7.cn/Program/IOS/201407/244585.shtml 方法一:直接复制所有源文件到项目中 这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可. 注意: 1. 如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库. 2. 如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的Targets – Build Parses 里找到第三方类库的.m文件,并

让你提前认识软件开发(48):集成测试

第3部分 软件研发工作总结 集成测试 [文章摘要] 一般的软件研发项目均涉及到多模块和多功能.在各个模块实现其功能之后,把相关模块结合起来进行集成测试以验证整个系统是否满足需求是很有必要的. 本文以作者的实际项目经验为背景,描述了集成测试的整个过程,并对集成测试过程中的一些常见问题进行了简单的介绍. 1. 前言 大部分软件开发人员在工作过程中可能都会有这样的经历:明明在自己模块中实现得好好的功能,一旦和其它模块结合就会出现问题.因此,集成测试就显得很重要.这就有点像很多国内的标准与国际标准不统一

Entity Framework Power Tools安装和使用

Entity Framework Power Tools是一个由EntityFramework开发小组提供的工具,它可以从现有数据库生成Fluent款式的Code First代码. 大致来说,这个工具有这样几个功能:1) 按照现有数据库结构,生成Code First POCO class.DbContext class和相应的mapping class. 2) 以designer模式或XML模式查看POCO class对应的Entity Data Model (edmx) . 3) 查看Enti

商业地产 招商 招租 CRM 意向 洽谈 合同 复用商铺商户管理系统

适用场合 本软件适合商业地产的对招商的全流程管理,包括商铺信息,商户信息,洽谈信息,意向签订,合同管理等. 软件有试用版可供下载试用. 联系方式 QQ:2417158658 Tel:13025110260 软件下载地址 百度网盘:http://pan.baidu.com/s/1qWnzA4O 请把地址复制到浏览器回车打开 使用事项及常见问题 1.绿色软件无需安装,直接解压后点击“复用商铺商户管理软件”,即可打开软件 2.无法打开软件,有提示需要安装".net framework4.0"

Spring Cloud进阶之路 | 四:服务消费者(feign)

转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12111916.html ?feign简介 github说明 Feign is a Java to Http client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. Feign's first goal was reducing the complexity of binding Denominator unifo

《连载 | 物联网框架ServerSuperIO教程》- 5.轮询通讯模式开发及注意事项。附:网友制作的类库说明(CHM)

感谢唯笑志在分享 原博主原地址:http://www.cnblogs.com/lsjwq/ 目       录 5. 轮询通讯模型开发及注意事项... 2 4.1           概述... 2 4.2           通讯机制说明... 2 4.3           设备驱动开发注意事项... 3 4.3.1    实时发送数据... 3 4.3.2    优先发送其他数据... 3 4.4           宿主程序服务实例配置注意事项... 4 4.5           轮询

QGC 支付宝无法异步通知及异步通知常见问题注意事项

支付宝异步通知参数(notify_url)路径常见问题注意事项: 1.不能是内网或者局域网地址,必须是外网可以访问的.否则无法调用!! 2.地址不能有session拦截,支付宝主动发送,所有session会失效:cookies.session等在此页面会失效!! 3.必须保证服务器异步通知页面(notify_url)上无任何字符,如空格.HTML标签.开发系统自带抛出的异常提示信息等: 4.程序执行完后必须打印输出“success”(不包含引号).如果商户反馈给支付宝的字符不是success这7