c# - HttpClient 不使用 ServicePointManager 服务点

标签 c# .net httpclient .net-4.7

默认情况下,HttpClient 每个主机仅使用 2 个并发连接。根据 docs我可以改变这一点。我不想在全局范围内更改它,我只想为我正在使用的服务更改它。因此我写了以下代码:

// Increase connection limit in order to have more concurrent requests to MyService
ServicePointManager.FindServicePoint(myServiceUrl, null).ConnectionLimit = 20;

不幸的是,这行不通。该服务(通过 HttpClient 调用)仍然只使用 2 个并发连接。如果我将代码更改为:
ServicePointManager.DefaultConnectionLimit = 20;

在相同的代码位置,它可以工作。但是,我不想全局更改此设置。如何仅在本地更改它?

编辑:我意识到有些东西将连接限制设置回 2。是否有任何操作(例如,实例化一个新的 WebRequestHandler,实例化一个新的 HttpClient,...?)重置连接限制?

最佳答案

关于c# - HttpClient 不使用 ServicePointManager 服务点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52150004/

相关文章:

c# - 在 .NET Core 2 中创建 HttpClient 的最佳实践

c# - csproj LangVersion 属性覆盖任何导入的项目

c# 遇到 mysql : Incorrect string value code 1366 for column at row 1 问题

c# - 对象实例丢失时如何处理它的引用

.net - 在 ASP.MVC 3 中使用 DI 和 IoC 如何设置我的 Controller 以正确解析新类型?

.net - 在asp.net中使用if与eval ("")

java - 使用 Http 代理通过抢占式身份验证连接到主机

c# - JSON.NET,如果预期对象反序列化失败则实例化回退对象

.net - LINQ to XML - 它是如何工作的?

java - 断开 HttpClient