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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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