Какова цель HttpClientFactory (System. Net .Http.Formatting)? - PullRequest
0 голосов
/ 23 февраля 2020

В Inte rnet много говорится о HttpClient, IHttpClientFactory, DI, проблеме исчерпания сокетов и т. Д. c.

Может кто-нибудь объяснить мне, почему нужна HttpClientFactory class (из System. Net .Http.Formatting Assembly) и ее методы.

1 Ответ

2 голосов
/ 23 февраля 2020

System.Net.Http.HttpClientFactory, который поставляется с Microsoft.AspNet.WebApi.Client пакетом NuGet , является просто помощником для создания HttpMessageHandler с конвейером из нескольких HttpDelegatingHandler объектов. Его Create метод буквально делает это :

public static HttpClient Create(HttpMessageHandler innerHandler, params DelegatingHandler[] handlers)
{
    HttpMessageHandler pipeline = CreatePipeline(innerHandler, handlers);
    return new HttpClient(pipeline);
}

И CreatePipeline устанавливает один HttpMessageHandler, который оборачивает все переданные обработчики в один конвейер, чтобы они выполнялись по порядку.

Этот HttpClientFactory не имеет ничего общего с более новым IHttpClientFactory, который входит в пакет Microsoft.Extensions.Http . Это то, о чем все «гудение» и как вы должны в идеале создавать HTTP-клиентов в будущем.

...