Подтвердить что ты не робот

"Доступ к разделу реестра" Глобальный "запрещен" при доступе к счетчикам производительности

Я пытаюсь прочитать некоторые счетчики производительности из своего приложения ASP.NET. Когда я это сделаю, я получаю сообщение об ошибке "Доступ к разделу реестра" Глобальный "запрещен."

Я пробовал следовать инструкциям здесь и здесь, используя пользователя IIS AppPool\DefaultAppPool, который является идентификатором моего пула приложений, который настроен на использование:

Screenshot of App Pool configuration

Я добавил этого пользователя в группу пользователей монитора производительности:

enter image description here

И после добавления пользователя я перезапустил свой компьютер. Но я все еще получаю ошибку.

Я также попытался добавить пользователей IUSR и NETWORK SERVICE в группу пользователей монитора производительности, но они тоже не работают. Из отчаяния я попытался добавить пользователя "Everyone" в группу пользователей Monitor Monitor, и это действительно работает. Но моя цель - регистрировать статистику из моего приложения в процессе производства, и я не хочу добавлять "Все" к этой группе на производственном сервере.

Что еще нужно для чтения счетчиков производительности без создания исключения безопасности?

4b9b3361

Ответ 1

Я нашел решение. В то время как различные ссылки в Интернете говорят вам использовать идентификатор IIS APPPOOL\DefaultAppPool, это НЕ полная история. Это будет работать, только если вы фактически назначаете свои приложения в пул приложений с именем "DefaultAppPool".

Эта ссылка на ServerFault имеет ответ. Вы должны использовать имя своего пула приложений. В моем случае имя пула приложений было "промежуточным", поэтому правильный пользователь был IIS APPPOOL\staging. Помещение этого пользователя в группу пользователей монитора производительности устранило мою проблему.