当我尝试从我的 ASP.NET 应用程序创建新的性能类别时出现错误。最初我遇到了一些与注册表相关的问题,但通过授予用户对某些注册表项的一些权限并将其添加到“性能日志用户”和“性能监视器用户”组中来解决这些问题。但现在我遇到了一个例外,我不知道还能尝试什么。
执行此行时发生错误:
PerformanceCounterCategory.Create(testName, testDescription, PerformanceCounterCategoryType.Unknown, counters);
testName
并且testDescriptions
是包含类别名称和描述的字符串变量,计数器是具有 3 个计数器的 CounterCreationDataCollection。
这是异常的堆栈跟踪:
在 System.Diagnostics.PerformanceCounterLib.RegisterFiles(String arg0, Boolean unregister) 在 System.Diagnostics.PerformanceCounterLib.RegisterCategory(String categoryName, PerformanceCounterCategoryType categoryType, String categoryHelp, CounterCreationDataCollection creationData) at System.Diagnostics.PerformanceCounterCategory.Create(String categoryName, String categoryHelp , PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) at CL.Libraries.PerformanceTestUtils.InitializeCounters(List`1 usedCounters, String testName, String testDescription) in C:\CL.Libraries\PerformanceTestUtils.cs:line 104
看来我无法发布图片,所以这就是我得到的:
" UnauthorizedAccessException 被捕获:
无法创建或删除性能类别“C:\TEMP\tmpD5E8.tmp”,因为访问被拒绝。"
类别键是在注册表中创建的。上面提到的文件被创建,然后被删除。我为用户提供了对 Temp 文件夹的显式访问权限,但这也无济于事。
任何帮助是极大的赞赏。