Web服务操作的性能计数器

时间:2014-12-05 08:55:22

标签: c# .net wcf performancecounter

我在Windows服务中托管了一个WCF服务,通过netTCP与winform客户端进行通信。

很久以前,WCF服务在IIS中托管,此时我可以在性能计数器监视器中看到WCF服务的每个操作(performanceCounters =“All”)。这样可以很容易地看到最常用的操作。

我需要再次使用这些性能计数器,但是这次即使在performanceCounters设置为“All”时我也无法在性能监视器中找到它们吗?

我需要做些什么来恢复它们?

WCF服务要求登录使用其操作,但登录是由我手动完成的,这意味着用户首先使用用户名和密码调用Login操作,如果它的数据不正确,那么securityException将是抛出。所以没什么先进的。

1 个答案:

答案 0 :(得分:1)

WCF充满了强大的监控工具和可扩展性端点,您可以利用它们或将其挂钩到您自己的解决方案中。

你绝对可以开箱即用,http://msdn.microsoft.com/en-us/library/ms735098(v=vs.110).aspx本文解释了发布这些指标所需的简单app.config更改。

如果您想要更详细的信息(或者只是为您提供的内容),您确实可以创建一个IOperationInvoker或一个在调用方法之前(在您的实现中)和完成后立即调用的IParamterInspector。我之前使用过这个来在调用方法之前在线程上添加上下文信息,检查调用者是否正在传递他们有权使用的参数,并通过在调用之前和之后简单地加时间戳来衡量调用性能。查看http://msdn.microsoft.com/en-us/library/System.ServiceModel.Dispatcher(v=vs.110).aspx以获取WCF堆栈中的可扩展性点列表。 祝你好运