2 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
您不應(yīng)該在每次請(qǐng)求后都處理 HTTPClient。
因此,HttpClient旨在實(shí)例化一次并重用 在應(yīng)用程序的整個(gè)生命周期中。實(shí)例化 HttpClient 每個(gè)請(qǐng)求的類(lèi)都會(huì)耗盡可用套接字的數(shù)量 在重負(fù)載下。該問(wèn)題將導(dǎo)致 SocketException 錯(cuò)誤。 解決該問(wèn)題的可能方法基于創(chuàng)建 HttpClient 對(duì)象作為單例或靜態(tài),如此處所述 Microsoft 關(guān)于 HttpClient 使用的文章。

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
在通用存儲(chǔ)庫(kù)中編寫(xiě) Dispose 方法并不意味著它會(huì)在您認(rèn)為需要時(shí)自動(dòng)調(diào)用。它旨在單獨(dú)調(diào)用,因此您必須使用using
語(yǔ)句(就像您有所示),或代碼中的?Dispose
?方法。
或者,您可以將該工作留給垃圾收集器。
如果您確信使用,您還應(yīng)該在通用存儲(chǔ)庫(kù)中創(chuàng)建一個(gè)終結(jié)器GC.SuppressFinalize(this);
您還應(yīng)該創(chuàng)建一個(gè)靜態(tài)類(lèi)來(lái)保存 HttpClient。您必須使用 HttpResponseMessages 來(lái)滿(mǎn)足您的需求,或者 HttpContent。
- 2 回答
- 0 關(guān)注
- 183 瀏覽
添加回答
舉報(bào)