0

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

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

sizeof(List<MyObjects>) 

查看为任何特定调用传输的总字节数。

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

有没有更简单的方法来做到这一点?

4

2 回答 2

1

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

  • \Web 服务(默认网站)\接收的总字节数
  • \Web 服务(默认网站)\发送的总字节数
于 2012-08-18T05:22:41.300 回答
1

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

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

于 2012-08-18T07:52:47.307 回答