[英]How can I tell if Connection: keep-alive is working?
在使用HttpClient從C#控制台應用程序進行測試時,如何確定我的HTTP連接是否正在重用?
我正在發送正確的標頭(根據Fiddler),但是無論我發送Connection:keep-alive標頭的時間都是相同的。
我很好奇要知道它是否一直在工作(即使沒有標題)還是一直不工作。
我設置它的代碼如下(並且我每次都重復使用同一實例):
if (String.IsNullOrEmpty(client.DefaultRequestHeaders.Connection.ToString()))
{
client.DefaultRequestHeaders.Add("Connection", "keep-alive");
}
順便說一句:我看不到直接設置此標頭的簡單方法-您只能對其添加Add()。 這意味着,如果您兩次調用該方法,那么最終將獲得“ keep-alive,keep-alive”作為值!
我發現最簡單的方法是使用計時並明確禁用它以獲得參考。 默認情況下 ,只要遠程服務器在響應中發送正確的標頭,.net版本的HttpClient似乎就會自動重用連接。
但是,如果將Connection標頭顯式設置為“ close”,則遠程服務器將關閉連接。 完成此操作后,每個請求的所有計時都慢了200毫秒,這證明keep-alive一直都可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.