[英]HttpClient in an asp.net core middleware [on hold]
我正在开发一个 asp.net 核心中间件,我需要将 http 请求从中间件发送到一些远程服务器。
为此创建 HttpClient 实例的最佳方法是什么?
我读到有 3 个选项,但它们似乎都有问题:
为中间件处理的每个请求使用新的 HttpClient - 可能导致套接字耗尽
使用一个 HttpClient 实例 - DNS 更改将不被遵守
使用 IHttpClientFactory - 我正在编写一个我打算分发的库,我不想依赖这种依赖关系。
编辑:前两个问题在这里的第一部分中进行了简要描述(.NET Core 中提供的原始 HttpClient class 的问题): https/encilientmicrosoft.com -applications/use-httpclientfactory-to-implement-resilient-http-requests
我建议你为你的库添加一个扩展点,消费者代码可以为它提供 HttpClient。 加上另一个使用 IHttpClientFactory 实现标准提供程序的库。 在这种情况下,您的核心库不会对 IHttpClientFactory 产生不必要的依赖,并且您仍然可以使其易于使用和扩展。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.