2010-09-13 44 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