长期潜伏者第一次海报。好吧,我花了一天时间研究这个&找不到任何线索,所以这里希望比我聪明得多的人以前也遇到过这个问题。
目前,我们在Windows Server 2003上运行的 Windows 服务中托管了少量 .NET 4 WCF 服务。在执行 perfmon 时,它们都按预期显示在 ServiceModelService 4.0.0.0 下。但是,当这些相同的服务在Windows Server 2008 R2上运行时,只会显示几个实例。托管服务都按预期运行和执行,只是我们无法获得任何性能计数器信息,因为实例并未全部列在每个计数器下。
ServiceModelEndPoint 4.0.0.0 和 ServiceModelOperation 4.0.0.0 也是如此。
我尝试通过 lodctr /r & lodctr /M:ServiceModelPerformanceCounters.man 重新安装计数器。尝试修复服务器上的 .NET 4 安装。
事件日志中没有错误表明计数器或分配的内存有任何问题。
所有 app.config 文件
<diagnostics wmiProviderEnabled="true" performanceCounters="All" />
我发现的唯一一件事是,在 Windows Server 2008 R2 上,注册表只有HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ServiceModelEndpoint 3.0.0.0
4.0.0.0 的条目并且没有提及(其他两个 ServiceModel* 计数器相同),因为我们只有 VM 是基于我没有的相同图像构建的能够验证这是预期的还是在安装过程中发生了问题。
所以我希望有人确认安装已损坏(我无法在 2008 年找到有关注册表设置的信息),或者为什么不是所有 WCF 服务实例都显示在 perfmon