2012-03-26 76 views
2

没有显示我有一个自托管WCF服务,我试图启用性能计数器,所以我已经加入这个web.config文件:WCF服务实例在性能监视器

<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

回答

0

不知道,如果它仍然是有效的,但让我尝试回答。

有很多事情你应该检查:

  • 您靶向.NET 4的一些柜台会在ServiceModelXXX 4.0.0.0。
  • 有时候,你需要重新安装WCF计数器。对于命令行,请访问此post
  • 计数器实例是不存在的,直到有第一个呼叫(如果不使用AppFabric的自动启动)
  • 您的帐户应该有要求的权限:性能监视器/登录用户