微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DNN / 2SXC / Razor / c#/使用可重用HttpClient的外部API

如何解决DNN / 2SXC / Razor / c#/使用可重用HttpClient的外部API

我正在使用Razor模板在2SXC中为DNN构建应用程序。我需要从几个外部API中提取一些数据,但是我担心在不同页面上使用许多HttpClient请求会导致套接字耗尽。

我已经研究过使用依赖注入和使用IHttpClientFactory创建类型化客户端,但是DNN中的当前实现似乎不支持功能

有人对如何使用线程安全的剃刀模块创建和重用HttpClient对象有任何建议吗?

感谢您提供的任何指导!

解决方法

仅是我的2c,但是您所指的文章是针对.net core的,旨在用于非常高负载的环境。因此,我几乎可以确定您的DNN端点可能没有这个。

无论哪种方式:从进一步的研究来看,

  1. 提到的Socket-Exhaustion是您的程序在其自己的系统上使用套接字(因此不是远程api,套接字会在短时间内被阻塞)
  2. 您可以轻松地使用一个单例-在所有场景中有99%都可以(创建一个static变量。我读到的唯一不足是它可以缓存DNS,但是如果您的远程端点不那么重要了始终是同一台服务器,并且有类似http://byterot.blogspot.com/2016/07/singleton-httpclient-dns.html
  3. 的解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。