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
HttpWebRequest类库注意事项以及常见问题的更多相关文章
- IOS 编程中引用第三方的方类库的方法及常见问题
方法一:直接复制全部源文件到项目中 这样的方法就是把第三方类库的全部源文件拷贝到项目中,直接把全部.h和.m文件拖到XCode项目中就可以. 注意: 1. 假设第三方类库引用了一些系统自带类库,那么在 ...
- WPF代码注意事项,开发常见问题,知识总结
代码注意事项: 1.代码实现的样式赋值 XXX.Style = TryFindResource("StyleName") as Style; 2.WPF中FindName方法的使用 ...
- Java基础——类型转换注意事项及常见问题
类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用类型转换 低------------------------------------------------------------ ...
- Java基础语法目录
一.Java相关科普知识1.Java的发展历程2.Java的发展方向3.Java的体系特性二.Java第一个程序1.JavaJDK的安装与环境的配置2.记事本开发Java程序的注意事项与常见问题3.J ...
- 使用SQLite数据库和Access数据库的一些经验总结
在我的<Winform开发框架>中,可使用多种数据库作为程序的数据源,除了常规的Oracle数据库.SqlServer.MySql数据库,其中还包括了SQLite数据库.Access数据库 ...
- Entity Framework Power Tools安装和使用
Entity Framework Power Tools是一个由EntityFramework开发小组提供的工具,它可以从现有数据库生成Fluent款式的Code First代码. 大致来说,这个工具 ...
- Code review应该怎么做
代码评审有两种不同的方法,一种是代码走查,一种是代码审查,我们这里讨论的仅指代码走查.通常自己写的代码都难以发现问题,需要以第二双眼睛再次检查代码,帮助我们及时地发现潜在的问题. 做代码审查之前,团队 ...
- 最短路径算法(I)
弗洛伊德算法(Floyed-Warshall) 适用范围及时间复杂度 该算法的时间复杂度为O(N^3),适用于出现负边权的情况. 可以求取最短路径或判断路径是否连通.可用于求最小环,比较两点之间的大小 ...
- 微信营销 推广 会议签到 活动签到 复用微信3D动画签到系统
适用场合 本软件适合各行各业,尤其世界500强上市公司,推广产品,聚集微信粉丝和人气.如大型展销会,新产品发布,主题活动推广,年会晚会等.各种商业和演出场合. 软件有试用版可供下载试用. 特色功能 顾 ...
随机推荐
- Android中PropertyAnimation属性动画详解(一)
在之前的文章中已经讲了帧动画frame-by-frame animation和补间动画tweened animation,其实这两种动画原理好简单,都是按照预先固定的动画模式来播放的,帧动画将一张张单 ...
- Java基础---Java---IO流-----LineNumberReader方法及原理、自定义一个LineNumberReader、字节流、图片复制、mp3复制、
LineNumberReader 跟综行号的缓冲字符输入流,些类定义了setLineNumber(int)和getLineNumber(int),它们可分别用于设置和获取当前行号 import jav ...
- iOS中 按钮和标题完美各种排列/完美教程 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博! 前言:最近常常用到按钮和相应标题的组合,当按钮设置图片加标题时,触发范围较小,不易触发,最重要的是还要调试偏移量, ...
- linux service 简单易懂贴
service用于管理Linux操作系统中服务的命令 1.不是在所有linux发行版本中都有.主要是在redhat.fedora.mandriva和centos中. 2. 命令位于/sbin目录下,用 ...
- android仿iphone的地区选择
最近项目要做一个,类似淘宝手机客户端的,选择收货地址的三级联动滚动选择组件,下面是它的大致界面截图: 在IOS中有个叫UIPickerView的选择器,并且在dataSource中定义了UIPicke ...
- Maya人物骨骼创建与蒙皮
参考: HumanIK骨架的使用与蒙皮的操作 注意事项: 1. 编辑好骨骼一侧后,可删除另一侧,并使用镜像操作.镜像操作可以指定替换生成骨骼的名字中的子字符串. 2. 如果在编辑骨骼的时候由删除添加过 ...
- Dynamics CRM2013 更新用户数据主要电子邮件字段报数据加密错误
今天在更新用户数据中的主要邮件字段时报数据 可以进系统设置-数据管理-数据加密中开启,但前提是必须启用https访问而不能用http,在第二个框内输入秘钥点击激活就行了,我这边已经激活过了所以显示的是 ...
- Github最流行的10,000个Java项目使用的类库
本文由 ImportNew - Andy.Song 翻译自 takipiblog.欢迎加入翻译小组.转载请见文末要求. 前言 作为Java开发人员,总是需要面临这门不断成熟.高速改进中的语言.开发人员 ...
- OC第二天—封装
/.锁定头文件的方法 1. 打开终端 2. 进入到Xcode的目录, 命令: cd /Applications/Xcode.app 3. 把系统头文件修改为只读, 命令: sudo chown ...
- R12 - Error 'Unable to process your transaction. The operating unit is either invalid or it cannot b
In this Document Symptoms Cause Solution Still Have Questions? References APPLIES TO: Orac ...