分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

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

发布时间:2023-09-06 01:33责任编辑:沈小雨关键词:Web类库

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类库注意事项以及常见问题

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved