WCF 服务实例未在 perfmon 中显示
Posted
技术标签:
【中文标题】WCF 服务实例未在 perfmon 中显示【英文标题】:WCF Service instance not showing in perfmon 【发布时间】:2012-03-26 13:03:41 【问题描述】:我有一个自托管的 WCF 服务,我正在尝试启用性能计数器,因此我已将其添加到 web.config 文件中:
<system.serviceModel>
<diagnostics performanceCounters="All" />
...
运行我的服务并确保它正在运行后,我打开 perfmon.exe 并尝试添加性能计数器。但是,“选定对象的实例”框中没有显示任何内容。
我的 app.config:
<?xml version="1.0"?>
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
</listeners>
</source>
</sources>
</system.diagnostics>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<system.serviceModel>
<diagnostics wmiProviderEnabled="true" performanceCounters="All">
<messageLogging logMalformedMessages="false" logMessagesAtServiceLevel="false"
logMessagesAtTransportLevel="false" />
</diagnostics>
<bindings>
<ws2007HttpBinding>
<binding name="soapBinding" maxReceivedMessageSize="1073741824">
<readerQuotas maxStringContentLength="1073741824" maxArrayLength="1073741824" />
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
<message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" />
</security>
</binding>
</ws2007HttpBinding>
</bindings>
<services>
<service behaviorConfiguration="defaultBehavior" name="SoapService">
<endpoint address="http://localhost/SoapService/"
binding="ws2007HttpBinding" bindingConfiguration="soapBinding" name=""
contract="ISoapService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/SoapService/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="defaultBehavior">
<serviceAuthorization impersonateCallerForAllOperations="false" />
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
为什么 perfmon 不显示任何正在运行的实例?
顺便说一句,如果 app.config 没有为您运行 .NET v4 突出显示
【问题讨论】:
【参考方案1】:不知道它是否仍然有效,但让我尝试一个答案。
有很多事情你应该检查:
您的目标是 .net 4。某些计数器将位于 ServiceModelXXX 4.0.0.0 中。 有时,您需要重新安装 WCF 计数器。访问此post 获取命令行。 在第一次调用之前,计数器实例不存在(如果不使用 appfabric 自动启动) 您的帐户应具有所需权限:性能监视器/日志用户【讨论】:
以上是关于WCF 服务实例未在 perfmon 中显示的主要内容,如果未能解决你的问题,请参考以下文章
如何让 SqlServer 计数器的 .NET 数据提供程序显示在 Perfmon 中
MVC 中的下拉菜单未加载 WCF 服务调用的编辑函数上的数据
jmeter中通过PerfMon Metrics Collector插件监控CPU和内存等等显示ConnectException连接超时杭州多测师_王sir