繁体   English   中英

asp.net 核心中间件中的 HttpClient [暂停]

[英]HttpClient in an asp.net core middleware [on hold]

我正在开发一个 asp.net 核心中间件,我需要将 http 请求从中间件发送到一些远程服务器。

为此创建 HttpClient 实例的最佳方法是什么?

我读到有 3 个选项,但它们似乎都有问题:

  1. 为中间件处理的每个请求使用新的 HttpClient - 可能导致套接字耗尽

  2. 使用一个 HttpClient 实例 - DNS 更改将不被遵守

  3. 使用 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM