c# - 使用 HttpClientFactory 时设置 MaxConnectionsPerServer
问题描述
实例化 aHttpClient
时,我可以指定...
var socketsHandler = new SocketsHttpHandler
{
PooledConnectionLifetime = TimeSpan.FromMinutes(10),
PooledConnectionIdleTimeout = TimeSpan.FromMinutes(5),
MaxConnectionsPerServer = 10
};
var client = new HttpClient(socketsHandler);
我正在使用的代码使用HttpClientFactory
来实例化一个新的HttpClient
. 有没有办法做类似的事情,所以我可以限制MaxConnectionsPerServer
while using HttpClientFactory
?
解决方案
您可以尝试以下操作:
var handler = new SocketsHttpHandler
{
MaxConnectionsPerServer = 100,
//PooledConnectionLifetime = TimeSpan.FromMinutes(15), //This is infinite by default
PooledConnectionIdleTimeout = TimeSpan.FromMinutes(15),
};
self.AddHttpClient<TInterface, TClass>()
.ConfigureHttpClient((provider, client) =>
{
client.BaseAddress = new Uri("base api address");
client.Timeout = TimeSpan.FromSeconds(15);
}
).ConfigurePrimaryHttpMessageHandler(() => handler);
推荐阅读
- git - 签出不存在的分支不会给出错误
- ionic-framework - woocommerce_rest_authentication_error - 410 - 无效签名
- linux - 从命令行乘以 .dat 文件中的常数
- javascript - 如何找到贝泽曲线的中点?
- java - 休眠映射异常,使用注释
- ruby - Ruby 多重赋值表达式中孤独(无变量名)splat 运算符的正确命名
- javascript - GSAP“无法在数字上创建属性”错误
- symfony - Sonata ModelAutocompleteType 查询/回调
- angular - 如何通过单击使用 ngClass 来更改 div 的类
- java - 在大量 CSV 文件中查找最大价格