0

网上有很多关于HttpClient,,,IHttpClientFactoryDI,socket耗尽问题等的讨论。

有人可以向我解释为什么需要HttpClientFactory class(来自System.Net.Http.Formatting程序集)及其方法。

4

1 回答 1

3

System.Net.Http.HttpClientFactoryMicrosoft.AspNet.WebApi.ClientNuGet 包一起提供的,只是创建HttpMessageHandler具有多个HttpDelegatingHandler对象的管道的助手。它的Create方法实际上是这样做的:

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

并且CreatePipeline设置了一个HttpMessageHandler将所有传递的处理程序包装到一个管道中的单个管道,以便它们按顺序执行。

这与packageHttpClientFactory中较新的版本没什么关系。这就是所有“嗡嗡声”的内容,以及您将来应该如何理想地创建 HTTP 客户端。IHttpClientFactoryMicrosoft.Extensions.Http

于 2020-02-23T14:07:04.247 回答