IHttpClientFactory с Autofac в .NET 4.8C#

Место общения программистов C#
Anonymous
IHttpClientFactory с Autofac в .NET 4.8

Сообщение Anonymous »

Я подошел к моменту, когда мне нужно было заменить использование HttpClient на IHttpClientFactory, чтобы уменьшить количество используемых сокетов и избежать исчерпания сокетов.
В качестве предпочтительного подхода я хотел использовать IHttpClientFactory и зарегистрировать его с помощью Autofac, а также хотел подтвердить разницу между использованием HttpClient и IHttpClientFactory – как узнать, правильно ли работает моя реализация?
Моя базовая реализация класса, использующего IHttpClientFactory, выглядит примерно так (один из классов):

Код: Выделить всё

public class ImportHttpClient : IImportHttpClientAccessor
{
public HttpClient Client { get; }

public ImportHttpClient(IHttpClientFactory httpClientFactory)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Client = httpClientFactory.CreateClient();
Client.BaseAddress = new Uri(GlobalVariables.ImportServiceSettings.BaseUrl);
}
}
и регистрация этого класса в Autofac очень проста:

Код: Выделить всё

builder.RegisterType().As().InstancePerLifetimeScope();
Но регистрация IHttpClientFactory оставалась проблемой, а также проверкой для сравнения до и после использования IHttpClientFactory.

Подробнее здесь: https://stackoverflow.com/questions/758 ... in-net-4-8

Вернуться в «C#»