.NET Core:使用多个 HttpClientFactory 实例的效率

问题描述 投票:0回答:1

我正在开发一个简单的 ASP.NET Core Web API,它将其调用重定向到不同的 API(重负载)。

我调用的所有 API 都具有相同的设置,只是 URI 不同。

代码逻辑决定应该调用哪个API,只调用一个还是全部。

我是否应该为我调用的每个 API 服务创建一个

HttpFactory

services.AddHttpClient("Api1", c => { c.BaseAddress = new Uri("https:/Api1_Url");});
...
services.AddHttpClient("Api9", c => { c.BaseAddress = new Uri("https:/Api9_Url");});

并致电

httpClientFactory.CreateClient("ApiX")....

我应该对所有 API 使用一个

HttpClientFactory
吗?

services.AddHttpClient("Api0-9");

为每个请求发送完整的请求 Uri(这更容易编码)。

据我所知,只使用一个会更有效率。还是我错了?

有人能理解

HttpClientFactory
的基础知识吗?

我两种都试过了。两者都有效。这是一个效率问题...如果有人明白

HttpClientFactory
请告诉我。

c# .net-core httpclientfactory
1个回答
0
投票

只要您使用 HttpClientFactory 而不是创建自己的 HttpClient 实例,您就应该处于良好状态。为几十个不同的 API 提供不同的实例不会显着影响性能——我们所说的在应用程序的生命周期中可能存在 1 毫秒的差异。做让你的代码最容易维护的事情。

© www.soinside.com 2019 - 2024. All rights reserved.