HttpWebRequest 对每个主机 2 个连接的限制是不是适用于 HttpClient?
Posted
技术标签:
【中文标题】HttpWebRequest 对每个主机 2 个连接的限制是不是适用于 HttpClient?【英文标题】:Does HttpWebRequest's limit of 2 connections per host apply to HttpClient?HttpWebRequest 对每个主机 2 个连接的限制是否适用于 HttpClient? 【发布时间】:2012-05-01 20:31:35 【问题描述】:是否有人知道,每个主机 2 个连接的(默认)速率限制是否适用于 System.Net.Http.HttpClient。
请说明您的信息来源以及此限制是否可以像this 那样增加,或者是否有更好/更简单的方法来做到这一点。
另外,有限制器实现吗?例如每分钟最多 40 个调用?
有一篇关于使用 Reactive Extensions here 的节流策略的好文章,但我想知道是否有 HttpClient 方法来做到这一点。
【问题讨论】:
【参考方案1】:根据documentation(见备注第三段),HttpClient
默认使用HttpWebRequest
。而HttpWebRequest
确实有每个主机的两个并发连接限制。
HttpClient
没有说明HttpClientHandler
(默认值)是否更改了HttpWebRequest
中的任何默认值。我怀疑不是。
如果您想更改它,您必须创建自己的 HttpMessageHandler 并将引用传递给 HttpClient
构造函数。
【讨论】:
快速查看HttpMessageHandler
,但无法设置MaxConnections
。我想Reflection
在这里会有所帮助...以上是关于HttpWebRequest 对每个主机 2 个连接的限制是不是适用于 HttpClient?的主要内容,如果未能解决你的问题,请参考以下文章
在每个请求的.net HttpWebRequest上设置SecurityProtocol(Ssl3或TLS)