.NET CORE HttpClient使用
阿新 • • 發佈:2020-07-28
自從HttpClient誕生依賴,它的使用方式一直備受爭議,framework版本時代產生過相當多經典的錯誤使用案例,包括Tcp連結耗盡、DNS更改無感知等問題。有興趣的同學自行查詢研究。在.NETCORE版本中,提供了IHttpClientFactory用來建立HttpClient以解決之前的種種問題。那麼我們一起看一下它的用法。
## 使用方式 ##
- 基本用法。 直接注入IHttpClientFactory
- 命名客戶端。注入IHttpClientFactory並帶有名稱,適用於需要特定的客戶端配置
- 型別化客戶端。類似於命名客戶端,但不需要名稱作為標識,直接和某個服務類繫結在一起。`注:這種方式經測試貌似不適用控制檯程式。`
- 生成客戶端。這種方式相當於在客戶端生成對應的代理服務,一般特定的需要才需要這種方式。需要結合第三方庫如 Refit 使用。這裡不具體介紹。
示例程式碼
public void ConfigureServices(IServiceCollection services)
{
//普通注入
serviceCollection.AddHttpClient();
//命名注入
serviceCollection.AddHttpClient(Constants.SERVICE_USERACCOUNT, (serviceProvider, c) =>
{
var configuration = serviceProvider.GetRequire