因此,我在 Startup.cs 中使用服务集合注册了一个命名客户端:
services.AddHttpClient(someServiceName,
client => client.BaseAddress = baseAddress);
现在可以IHttpClientFactory
从我的服务提供商那里注入一个。
使用这个IHttpClientFactory
,我想出了一个客户端实例:
var client = httpClientFactory.CreateClient(someServiceName)
曾几何时,在处理HttpClient
实例时必须非常小心,因为这很少是正确的做法。
但是,现在我们有了HttpClientFactory
,这还重要吗?应该/可以client
放心地处理吗?例如
using (var httpClient = httpClientFactory.CreateClient(someServiceName))
using (var response = await httpClient.PostAsync(somePath, someData))
{
var content = await response.Content.ReadAsAsync<SomeResponse>();
//...
}