栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在C#中调整HttpWebRequest连接超时

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在C#中调整HttpWebRequest连接超时

认为
问题在于,

WebRequest
仅在实际发出请求之后才测量时间。如果您向同一个地址提交多个请求,则
ServicePointManager
将会限制您的请求,并且实际上仅提交与之对应的并发连接数
ServicePoint.ConnectionLimit
,默认情况下,该并发连接从的值中获取相应的值
ServicePointManager.DefaultConnectionLimit
。应用程序CLR主机将此设置为2,ASP主机设置为10。因此,如果您有一个多线程应用程序将多个请求提交到同一主机,则实际上只有两个处于联机状态,其余的则排队。

我尚未对此进行研究以得出确凿的证据,是否确实发生过这种情况,但是在类似的项目中,直到我取消

ServicePoint
限制后,我的情况才令人恐怖。

要考虑的另一个因素是DNS查找时间。同样,我相信没有确凿的证据支持,但我认为

WebRequest
不会
计入请求超时的DNS查找时间。在某些部署中,DNS查找时间可能会显示为非常大的时间因素。

是的,你必须围绕代码的应用程序

WebRequest.BeginGetRequestStream
(用于
POST
s的内容)和
WebRequest.BeginGetResponse
(对于
GET
小号
POSTS

S)。同步调用不会扩展(我不会详细说明为什么,但是我 确实
有确凿的证据)。无论如何,
ServicePoint
问题与此正交:排队行为也发生在异步调用中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/568596.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号