"Доступ к разделу реестра" Global "запрещен" при доступе к счетчикам производительности
Я пытаюсь прочитать некоторые счетчики производительности из моего приложения ASP.NET. Когда я это делаю, я получаю сообщение об ошибке "Доступ к разделу реестра" Global "запрещен".
Я пытался следовать инструкциям здесь и здесь, используя пользователя IIS AppPool\DefaultAppPool
, который является идентификатором, который мой пул приложений настроен для использования:
Я добавил этого пользователя в группу "Пользователи системного монитора":
И после добавления пользователя я перезагрузил компьютер. Но я все еще получаю ошибку.
Я также попытался добавить пользователей IUSR и NETWORK SERVICE в группу пользователей системного монитора, но они тоже не работают. В отчаянии я попытался добавить пользователя "Все" в группу "Пользователи системного монитора", и это действительно работает. Но моя цель - записать статистику из моего приложения в производство, и я не хочу добавлять "Все" в эту группу на производственном сервере.
Что еще должно произойти, чтобы считать счетчики производительности без создания исключения безопасности?
3 ответа
Я нашел решение. В то время как различные ссылки в Интернете говорят вам, чтобы использовать личность IIS APPPOOL\DefaultAppPool
Это не полная история. Это будет работать только в том случае, если вы фактически назначаете свои приложения пулу приложений с именем "DefaultAppPool".
Эта ссылка на ServerFault имеет ответ. Вы должны использовать имя вашего пула приложений. В моем случае имя пула приложений было "промежуточное", поэтому правильный пользователь IIS APPPOOL\staging
, Помещение этого пользователя в группу "Пользователи системного монитора" устранило мою проблему.
В нашем случае у нас была другая служба Windows, работающая под тем же портом #, и возникла эта ошибка. Не совсем полезно из-за ошибки, но тем не менее. Обновление нашего порта решило нашу проблему.
В моем случае я добавил правильный пул приложений (тот, который я использовал для своего веб-сайта) в "Пользователи производительности" и "Журнал", но проблема все еще возникала. Что я сделал, так это
- остановить мой пул приложений
- переключить мой веб-сайт на использование DefaultAppPool
- перезапустил веб-сайт
- переключил веб-сайт обратно на правильный пул приложений (который остановлен)
- запущен пул приложений
- перезапустил веб-сайт