2009-08-19 67 views

回答

0

我会假设会有一个可用的性能计数器,是的。

退房几十性能计数器的性能监视器是WCF安装在您的系统 - 我敢肯定有一个处理发送和接收的数据....

否则,编程:不,不是没有扩展, 我会说。

马克

0

我不知道从什么DOTNET的,但我使用NetLimiter,可以帮助您

1

我假设的性能计数器(perfmon的).NET CLR网络\发送字节和.NET CLR Networking \ Bytes收到您感兴趣的流程实例,尽管我从未直接使用它们,但它们可能会提供您所需要的信息。

0

无法找到WCF每个服务“开箱即用”传输的总字节数。您需要扩展WCF来捕获这些信息。我认为 BindingElementExtension与IMessageInterceptor会让你到你可以检查流经服务的单个消息的级别。那时你只需要获得消息的大小。

This project允许压缩WCF消息,这意味着它达到您需要达到的相同低水平。

1

WCF有自己的计数器,它会帮助你获得你需要的信息。

的,你必须让他们

这样

<configuration> 
    <system.serviceModel> 
     <diagnostics performanceCounters="All" /> // use this line. 
    </system.serviceModel> 
</configuration> 

则有3种类型的每个服务柜台,visble HWN服务托管&运行。

ServiceModelEndpoint 3.0.0.0 + ServiceModelOperation 3.0.0.0 + ServiceModelService 3.0.0.0

我认为ServiceModelOperation 3.0.0.0将要给你发送字节/收到。

+0

我在配置文件中添加了信息,但我似乎无法找到性能监视器实用程序中相对于发送/接收字节的计数器。所有的柜台都显示在那里,还是有更多柜台可以通过程序访问? – 2009-09-01 12:44:35

+0

另外,即使通信服务在同一台计算机上,您是否知道我是否能够获得这种信息? – 2009-09-01 12:46:25

0

我可以确认.NET CLR网络计数器似乎对WCF服务正常工作。最初的一些非托管网络活动是您不会捕获的,但这只占整个时间的一小部分。我将这些CLR网络计数器与其他方式进行了比较,并发现它们针对我正在测试的客户端/服务器进行排队。