2010-06-29 57 views
1

我想知道是否有方法來計算Asyhcnronous WebRequest。我使用 HttpWRequest.BeginGetResponse(新的AsyncCallback(UpdateItem),si); si = StoreInfo,它是一個存儲Request,URL和秒錶的類實例)。 在UpdateItem例程中,我得到秒錶並停止它。如何計時異步HttpWebRequest?

問題是秒錶正在運行,但請求正在等待啓動請求,它並未實際發出請求。

所以我想我需要一種方式來啓動秒錶,當請求實際上開始(一個線程開始這個請求) 或以某種方式確定從請求/響應過去的時間?不要以爲有辦法。

任何人有任何想法?

+0

什麼?你在回調中調用EndGetResponse(),你已經得到了迴應。 – 2010-06-29 14:35:47

回答

1

如果你想測量wallclock時間,即。 BeginGetResponse()被調用的時候,當它完成時,你所做的是正確的。

但是,正如您所提到的,這實際上並不會給您網絡時間,您可以在其中測量寫入網絡的HTTP請求標頭的第一個字節與接收響應的第一個字節的時間。使用API​​來衡量這一點並不容易。您必須使用Wireshark/Netmon等網絡捕獲工具手動執行此操作。