我有一個自定義WebUploadTraceListener : TraceListener
,我用它來發送HTTP(並最終HTTPS)POST數據到一個Web服務,將它寫入數據庫。使HttpWebRequest忽略響應
我已經測試了WebClient
和HttpWebRequest
這個做法,經驗上我看到後者有更好的表現。
由於數據的單向性,我不關心服務器的響應。但是我發現如果我不處理HttpWebResponse
,我的代碼在第三次寫入時鎖定。我想,這是因爲DefaultConnectionLimit設置,而不是重複使用資源的系統...
請注意,你需要處理由request.GetResponse返回WebResponse類的 - 否則根本基礎設施不會知道你已經完成了它,並且將無法重新使用連接。
我想最大限度地發送POST數據的速度,回到主程序儘可能快流越好。由於我正在跟蹤程序流,所以同步寫入更可取,但不是必需的,因爲我總是可以添加包括Tick
計數的POST字段。
- 是一個
HttpWebRequest
和stream.Write
在.Net4.0
這樣做的最快方法是什麼? - 是否有更便宜的方法來丟棄不需要的響應?
謝謝:-)不,我不想在socket級別工作。我需要調用'GetResponse'來關閉/重用連接是否正確? – khargoosh
是的,你說得對。在你的代碼中,'GetResponse()'是自動關閉的,因爲你將它封裝在'using'中。 – Sakura
這是我'使用'它的意圖。再次感謝 :-) – khargoosh