我有一個.net Windows服務,通過從服務器下載文件來測試網絡性能。我使用(HttpWebRequest)WebRequest.Create(uri)
來創建HTTP請求。不同的TCP連接爲每個WebRequest.Create()
該服務由計時器控制。當定時器間隔相對較小時,HTTP請求會被服務器阻止。
通過查看數據包分析器,似乎TCP連接已被重用。如何爲每個WebRequest請求一個「新」TCP連接?
我有一個.net Windows服務,通過從服務器下載文件來測試網絡性能。我使用(HttpWebRequest)WebRequest.Create(uri)
來創建HTTP請求。不同的TCP連接爲每個WebRequest.Create()
該服務由計時器控制。當定時器間隔相對較小時,HTTP請求會被服務器阻止。
通過查看數據包分析器,似乎TCP連接已被重用。如何爲每個WebRequest請求一個「新」TCP連接?
嘗試設置HttpWebReqeuest.KeepAlive
至false
。
我相信你正面臨一個HTTP保持活着,所以你必須強迫WebClient
不要使用它。這是從客戶端以connection: keep-alive
標題發送的,如果服務器支持它,則保持連接。在Wiki中看到更多內容:http://en.wikipedia.org/wiki/HTTP_persistent_connection
所以,如果你發送connection:close
,你會在每個請求中得到一個新的TCP會話。