当我们使用
var client=new HttpClient();
当我们使用IHttpClientFactory builder.Services.AddHttpClient();
并通过依赖注入来使用它。
public readonly IHttpClientFactory _clientFactory;
public RequestController(ClientPolicy clientPolicy,IHttpClientFactory clientFactory)
{
_clientFactory = clientFactory;
}
var client= _clientFactory.CreateClient();发布于 2022-05-05 14:51:18
从上述评论和文章中了解到的答案是,当HttpClient被释放时,它的套接字没有这么快地被释放,这就是为什么它会产生套接字耗尽问题,如果我们创建HttpClient的单例对象,那么就会出现DNS错误,这就是其中的原因。Net核心,我们实现了IHttpClientFactory,这样它就可以克服套接字耗尽问题和DNS问题,并且在代码修改的情况下很容易在单个类上维护IHttpClientFactory。
https://stackoverflow.com/questions/72128934
复制相似问题