2010-09-13 45 views
1

我想測量一個HttpWebRequest(和響應)發送和接收的數據量。HttpWebRequest IO /帶寬使用C#

據我所知,只能知道請求和響應內容的長度,換句話說,正文,而不是標題。

有誰知道如何獲得全長?標題和正文要加總,還是可能只是測量線程或進程中所有網絡IO的方法?

回答

0

總結標題&身體可能會產生你正在尋找的答案。測量nio不是一種推薦的方法,因爲它需要提升特權爲您的應用程序&程序集;只要有可能,其程序集應該只使用最低的安全級別來執行應用程序的意圖,而不是更多。在提升的特權情景中,必然假定你有上帝訪問機器(root/domain admin /等)。

REF 1:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.contentlength.aspx

REF 2:http://msdn.microsoft.com/en-us/library/system.net.webheadercollection.aspx

+0

感謝您的迴應,但似乎只有這樣一種粗糙的方法纔是可恥的。不幸的是使用頭集合來測量頭文件不會得到初始的PUT/GET/POST行。我知道這看起來微不足道,但在測量時準確性是主觀重要的... – 2010-09-14 08:15:37

0

你看過System.Net性能計數器嗎?

編輯:

System.net已經暴露PERF的計數器這一點。如果你開始「PERFMON.EXE」,轉到「.NET CLR網絡」類別中,您將看到以下計數器:

  1. 發送的字節數
  2. 接收的字節數
  3. 連接建立
  4. 數據報發送
  5. 數據報收到

這應該給你所有你需要的。

+0

不詳細。找到http://blogs.msdn.com/b/ncl/archive/2009/08/07/new-performance-counters-for-httpwebrequest.aspx,但仍然沒有添加我需要的... – 2010-09-14 08:18:50