从.NET中的某些计算机查询自定义性能计数器时遇到问题
其中一些计数器的基本计数器大部分都没有(NumberOfItems64)。 这些计数器在所有机器上都能正常工作,这意味着会显示类别,计数器和实例,我们也会看到本地perfmon中的值。
除了编写计数器的服务之外,还有一个站点(模仿具有 perfcounter读取权限的用户)读取它们。有两个用户具有相同的权限,但用于不同的计算机。
这适用于以下星座:
Dev-PC(User A) - Dev-PC (Domain1)
Dev-PC(User A) - Server1 (Domain2)
WebServer1(User A) - Server1 (Domain2)
WebServer2(User B) - Server1 (Domain2)
可悲的是,以下内容根本不起作用:
Dev-PC(User B) - Server2-n (Domain2)
WebServer1(User B) - Server2-n (Domain2)
WebServer2(User B) - Server2-n (Domain2)
例外是:
System.InvalidOperationException:
The Counter layout for the Category specified is invalid, a counter of the type:
AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse,
CounterMultiTimer100Ns, CounterMultiTimer100NsInverse,
RawFraction, or SampleFraction has to be immediately followed by any of the base
counter types: AverageBase, CounterMultiBase, RawBase or SampleBase.
at System.Diagnostics.CategorySample.GetCounterDefinitionSample(String counter)
at System.Diagnostics.PerformanceCounter.NextSample()
at System.Diagnostics.PerformanceCounter.NextValue()
这没有多大意义,因为计数器的类型为 NumberOfItems64 !?
当我在本地调试它时,我注意到所有的PerformanceCounter属性都会在快速监视中抛出异常!怎么了?
我确信它与用户权利无关(我现在已经检查了几次)
有没有人知道这个问题或想到什么?
我被困住了,非常感谢任何帮助!
干杯
的Fab