第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在WebAPI客戶機中每次調(diào)用創(chuàng)建一個新的HttpClient的開銷是多少?

在WebAPI客戶機中每次調(diào)用創(chuàng)建一個新的HttpClient的開銷是多少?

慕容3067478 2019-07-03 15:28:35
在WebAPI客戶機中每次調(diào)用創(chuàng)建一個新的HttpClient的開銷是多少?什么應(yīng)該是HttpClientWebAPI客戶端的生命周期?是否最好有一個HttpClient多個電話?創(chuàng)建和處理HttpClient每個請求,如下面的示例(摘自http:/www.asp.net/web-api/概括/web-api-客戶端/調(diào)用-a-web-api-from-a-net-client):using (var client = new HttpClient()){     client.BaseAddress = new Uri("http://localhost:9000/");     client.DefaultRequestHeaders.Accept.Clear();     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));     // New code:     HttpResponseMessage response = await client.GetAsync("api/products/1");     if (response.IsSuccessStatusCode)     {         Product product = await response.Content.ReadAsAsync<Product>();         Console.WriteLine("{0}\t${1}\t{2}", product.Name, product.Price, product.Category);     }}
查看完整描述

3 回答

?
縹緲止盈

TA貢獻2041條經(jīng)驗 獲得超4個贊

HttpClient已經(jīng)設(shè)計用于多個呼叫。..甚至跨越多個線程。這個HttpClientHandler具有可跨調(diào)用重用的憑據(jù)和Cookies。有新的HttpClient比如需要重新設(shè)置所有的東西。此外,DefaultRequestHeaders屬性包含用于多個調(diào)用的屬性。必須在每個請求上重置這些值,這一點就失敗了。

另一個主要好處是HttpClient是添加以下內(nèi)容的能力HttpMessageHandlers在請求/響應(yīng)管道中應(yīng)用橫切關(guān)注點。它們可以用于日志記錄、審計、節(jié)流、重定向處理、脫機處理、捕獲度量。各種各樣的東西。如果在每個請求上創(chuàng)建了一個新的HttpClient,那么需要在每個請求上設(shè)置所有這些消息處理程序,并且還需要提供這些處理程序請求之間共享的任何應(yīng)用程序級狀態(tài)。

的特性使用得越多。HttpClient,您將更多地看到重用現(xiàn)有實例是有意義的。

但是,最大的問題,在我看來是,當HttpClient類被處理,它處理HttpClientHandler,然后強行關(guān)閉TCP/IP管理的連接池中的連接。ServicePointManager..這意味著每個請求都有一個新的HttpClient需要重新建立一個新的TCP/IP連接。

根據(jù)我的測試,在LAN上使用普通HTTP,性能的影響是可以忽略不計的。我懷疑這是因為有一個底層的tcp保持活動,即使在以下情況下,該連接仍然處于打開狀態(tài)。HttpClientHandler試圖關(guān)閉它。

在互聯(lián)網(wǎng)上的請求中,我看到了一個不同的故事。由于每次都必須重新打開請求,我已經(jīng)看到了40%的性能下降。

我懷疑HTTPS聯(lián)系會更糟。

我的建議是在應(yīng)用程序的生存期內(nèi)保留一個HttpClient實例對于您連接到的每個不同的API。


查看完整回答
反對 回復(fù) 2019-07-03
  • 3 回答
  • 0 關(guān)注
  • 939 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號