计算使用WCF服务操作发送的总字节数

时间:2012-08-18 04:59:28

标签: wcf azure bandwidth

我正在测试Azure辅助角色,该角色提供可供WPF桌面客户端使用的10-12种不同的服务操作。我通过Azure计费门户网站关注总输出带宽。看起来这些操作产生的带宽比我预期的要多。

有没有办法从WPF客户端角度“衡量”每个服务操作的总下载大小?我知道C#没有等效的sizeof运算符,所以我想我不能只做一个

sizeof(List<MyObjects>) 

查看为任何特定呼叫传输的总字节数。

我想过可能会使用wireshark并以某种方式计算每个服务操作调用的数据包大小,并以这种方式查找带宽占用。

有更简单的方法吗?

2 个答案:

答案 0 :(得分:1)

如果您的WCF服务在IIS下运行,则可以使用IIS的内置性能计数器,例如:

  • \ Web服务(默认网站)\接收的总字节数
  • \ Web服务(默认网站)\已发送总字节数

答案 1 :(得分:1)

性能计数器可以很好地计算发送/接收的总字节数。但是如果你想知道每个操作调用的数量,你需要在服务的一侧编写一个消息检查器。

这将允许您拦截每个传入和传出的消息,并且您将可以访问原始Message对象,从而可以测量请求的总大小和响应。