虽然 HttpClient 实现了 IDisposable
接口,但它是为重复使用而设计的。关闭的 HttpClient
实例使套接字在短时间内以 TIME_WAIT
状态保持打开。如果经常使用创建和释放 HttpClient
对象的代码路径,则应用可能会耗尽可用的套接字。在 ASP.NET Core 2.1 中引入了 HttpClientFactory,以作为此问题的解决方案。它会处理池 HTTP 连接以优化性能和可靠性。.
建议:
-
请勿直接创建和释放 实例。
-
请勿使用 HttpClientFactory 检索 实例。有关详细信息,请参阅使用 HttpClientFactory 实现可复原的 HTTP 请求。