情況:我正在使用HttpWebRequest.BeginGetResponse記錄在msdn中。我有一個計時器每10秒發送一次請求。當我測試它時,我收到了xml結構化的信息。定時器的異步HttpWebRequest問題
結果:處於客戶位置並且正在運行該工具,我收到了不完整的(因此不可解析的)xml(每個大約4KB)。我可以在瀏覽器中查看並完全看到它(顯然是通過瀏覽器的同步請求?!)。我使用關於內容長度的標題信息來確定我的接收緩衝區大小。
是什麼引起的?我不知道。數據相當小。我仍然使用developer fusion中描述的ThreadPool.RegisterWaitForSingleObject
方法來定義超時,我也選擇了10秒以及超時。也許這不是一個明智的決定,它可能應該小於定時器間隔。事情是,我無法在這些條件下再次測試它。這是在一個生產現場,我沒有洞察網絡設置。在家裏,這些要求同時運行得很好。
我對這個領域並不是很有經驗,但是當一個計時器在完全接收到響應流之前觸發一個新的請求會發生什麼,超時時間是否等於計時器間隔?任何其他提示什麼可能是瓶頸?
謝謝你的提示,我似乎錯誤地使用了Stream.Read方法。 – rdoubleui 2009-08-25 19:21:30