Я запускаю Windows 7 64-разрядных и iis7. Я пытаюсь установить веб-приложение, которое было ранее в iis6 на XP. Это дает мне ошибку ниже. Я добавил пользователя сетевой службы к Группе пользователей Монитора производительности напрасно.
Доступ к 'Глобальному' ключу реестра запрещен. Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Рассмотрите отслеживание стека для получения дополнительной информации об ошибке и где это произошло в коде.
Детали исключения: Система. UnauthorizedAccessException: Доступ к 'Глобальному' ключу реестра запрещен.
ASP.NET не разрешен получить доступ к требуемому ресурсу. Рассмотрите предоставление прав доступа к ресурсу к идентификационным данным запроса ASP.NET. ASP.NET имеет идентификационные данные базового процесса (обычно {МАШИНА }\\ASPNET на IIS 5 или Сетевая служба на IIS 6), который используется, если приложение не является олицетворением. Если приложение явится олицетворением через, то идентификационные данные будут анонимным пользователем (обычно IUSR_MACHINENAME) или аутентифицируемый пользователь запроса.
Для предоставления доступа ASP.NET в файл щелкните правой кнопкой по файлу в Проводнике, выберите "Properties" и выберите вкладку безопасности. Нажмите "Add" для добавления соответствующего пользователя или группы. Выделите учетную запись ASP.NET и установите флажки для желаемого доступа.
Проблема в том, что пользователь в Windows известен как DefaultAppPool. Однако он нигде не отображается в диалогах безопасности. Однако он настоящий пользователь. Моя проблема заключалась в том, что мне нужно было, чтобы этот пользователь был частью группы PerformanceMonitorUsers, потому что моя веб-служба использовала PerformanceCounters. Оказывается, это нужно делать из командной строки.
net localgroup «Пользователи монитора производительности» DefaultAppPool / add
Иногда это не работает и выдает ошибку: «Нет такого пользователя или группы: DefaultAppPool»
Чтобы добавить пользователя другим способом :
Частные члены недоступны в производных классах.
-121--3832447-Интересное отличие здесь - использование # если DEBUG на странице aspx извлекает из тэга в web.config, но при использовании его в коде background извлекает DEBUG из константы из конфигурации сборки в файле проекта. Таким образом, они фактически получают доступ к двум различным настройкам.
Таким образом, насколько я могу судить, это на самом деле невозможно.
-121--1538305-В основном необходимо следовать инструкциям, но если посмотреть на конфигурацию вашего пула приложений, вы захотите найти исполняемую учетную запись пользователя и предоставить ему доступ к соответствующим разрешениям.