簡體   English   中英

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

[英]DNN / 2SXC / Razor / c# / Consume External API with Reusable HttpClient

我正在使用 Razor 模板在 2SXC 中為 DNN 構建一個應用程序。 我需要從幾個外部 API 中提取一些數據,但擔心在不同頁面上使用許多 HttpClient 請求時套接字耗盡。

我已經研究過使用依賴注入並使用 IHttpClientFactory 創建類型化客戶端,但 DNN 中的當前實現似乎不支持這一點。

有沒有人對如何使用線程安全的 razor 模塊創建和重用 HttpClient 對象有任何建議?

感謝您提供的任何指導!

只是我的 2c,但您所指的文章適用於 .net 核心,適用於非常高負載的環境。 所以我幾乎可以肯定你的 DNN 端點可能不會有這個。

無論哪種方式:從進一步研究來看,它看起來像

  1. 提到的 Socket-Exhaustion 是你的程序在它自己的系統上使用套接字(所以不是遠程 api,你的套接字被阻塞了很短的時間)
  2. 您可以輕松地使用單例 - 這適用於 99% 的所有場景(創建一個static變量。我讀到的唯一缺點是它緩存了 DNS,但如果您的遠程端點始終是同一台服務器,那么這並不重要,並且有像http://byterot.blogspot.com/2016/07/singleton-httpclient-dns.html這樣的解決方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM