【发布时间】:2012-12-16 15:00:23
【问题描述】:
我有这个简单的代码:
public void CreateCounters() {
if (PerformanceCounterCategory.Exists(_categoryName)) {
PerformanceCounterCategory.Delete(_categoryName);
}
// create logic…
}
在我的机器上工作。 我在我的服务器上运行它,得到以下堆栈跟踪:
System has detected a fatal error. EXITING...
NativeErrorCode: 1010
ErrorCode: -2147467259
Message: The configuration registry key is invalid
TargetSite: Void RegisterFiles(System.String, Boolean)
HelpLink:
Source: System
Stack Trace:
at System.Diagnostics.PerformanceCounterLib.RegisterFiles(String arg0, Boolean unregister)
at System.Diagnostics.PerformanceCounterCategory.Delete(String categoryName)
at myApp.Common.Utils.PerformanceCounters.PerformanceCounters.CreateCounters()
at myApp.Common.Utils.PerformanceCounters.myAppPerformanceCounterReporter.Init()
at myApp.Common.Utils.PerformanceCounters.myAppPerformanceCounterReporter.get_Instance()
at myApp.Program.Main(String[] args)
该类别存在于服务器上,我可以在perfmon GUI 中看到它。
【问题讨论】:
-
这可能是权限问题吗?
-
是您创建的性能计数器类别
_categoryName还是预定义的类别之一? -
这是我创建的自定义类别名称。我不确定这是否是权限问题(不是暗示),但我在管理权限下运行...
标签: c# performancecounter perfmon