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