在我编写的应用程序中,我们在应用程序启动时删除并重新创建性能计数器。
从控制台运行此应用程序时,应用程序会删除并重新创建计数器和计数器类别。
当我们从服务运行时,应用程序会按预期删除计数器类别,但在创建新类别时它会挂起,直到服务超时
if (PerformanceCounterCategory.Exists(CATEGORY_NAME))
{
PerformanceCounterCategory.Delete(CATEGORY_NAME);
}
工作正常,但在此方法中挂起
private PerformanceCounterCategory RecreateTheCategory()
{
PerformanceCounterCategory category = null;
if (!PerformanceCounterCategory.Exists(CATEGORY_NAME))
{
category = PerformanceCounterCategory.Create(CATEGORY_NAME, CATEGORY_HELP,
PerformanceCounterCategoryType.SingleInstance,
counterCreationDataCollection);
}
return category;
}
在 .Exists 行上。我希望这与权限有关,但在生产中,我们必须将服务作为本地系统运行,我真的需要在代码中修复它而不提升用户帐户
谢谢