Итак, я зарегистрировал именованного клиента с коллекцией сервисов в моем 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>();
//...
}