當我們的服務器打開連接時,我們的WinRT應用程序非常慢。請求需要〜500ms運行。這阻礙了我們的一些場景。在WinRT的HttpClient類中使用Keep-Alive連接?
調試時,我們注意到當Fiddler處於活動狀態時,請求速度要快得多 - 每個請求約100ms。一些搜索後來我們明白這是因爲Fiddler在代理呼叫時使用Keep-Alive連接,這使得我們的代理呼叫速度更快。
我們用兩種方法對此進行了仔細檢查。
- 我們將UseProxy設置爲false,並觀察到請求返回的速度很慢。
- 我們關閉了Fiddler的「重新使用連接」選項並觀察到請求回覆緩慢。
我們嘗試通過Connection頭(.Connection.Add(「Keep-Alive」))啓用保持活動,但這似乎沒有任何影響 - 事實上,頭似乎被公然忽略.NET組件,並且不會根據請求發送(再次通過檢查Fiddler)。
有誰知道如何在Windows 8,WinRT,HttpClient類中設置保持活動狀態嗎?
盡我所能找到現在的問題是: http://stackoverflow.com/questions/14099812/httpclient-exception-in-windows-8-app 也爲您的閱讀快感: HTTP:// MSDN .microsoft.com/en-us/library/system.net.http.headers.httprequestheaders.aspx 您使用的是HTTP 1.1版嗎?在這種情況下,Keep-Alive應該默認爲true。 – 2013-03-05 00:22:34
是的,使用1.1。感謝這些鏈接,儘管我沒有看到第一個如何應用 - 我們沒有收到錯誤。至於第二個 - 我在我的問題中指出,我們嘗試使用連接標題 - 我不知道如何完整的標題列表是有幫助的(對不起)。 – 2013-03-05 06:05:56
嘿嘿,我知道,但是你永遠不知道第二眼看什麼:-)祝你好運! – 2013-03-05 09:36:31