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

Ошибка доступа к реестру при перенастройке приложения ASP.NET в IIS7

Я запускаю Windows 7 64-bit и iis7. Я пытаюсь настроить веб-приложение, ранее существовавшее в iis6 на XP. Это дает мне ошибку ниже. Я добавил пользователя сетевой службы в группу пользователей монитора производительности безрезультатно.

Доступ к разделу реестра "Глобальный" отказано. Описание: необработанный исключение произошло во время выполнение текущего веб-запроса. Просмотрите трассировку стека информацию об ошибке и он возник из кода.

Сведения об исключении: System.UnauthorizedAccessException: Доступ к разделу реестра "Глобальный" отказано.

ASP.NET не имеет права доступа запрошенный ресурс. Рассматривать предоставление прав доступа к ресурсу к идентификатору запроса ASP.NET. ASP.NET имеет базовый идентификатор процесса (обычно {MACHINE}\ASPNET на IIS 5 или сетевой службы на IIS 6), используется, если приложение не имитированы. Если приложение выдавать себя за личность будет анонимным пользователем (обычно IUSR_MACHINENAME) или аутентифицированный запросить пользователя.

Чтобы предоставить ASP.NET доступ к файлу, щелкните правой кнопкой мыши файл в проводнике, выберите "Свойства" и выберите Вкладка "Безопасность". Нажмите "Добавить", чтобы добавить соответствующего пользователя или группы. основной момент учетной записи ASP.NET, и проверьте коробки для желаемого доступа.

4b9b3361

Ответ 1

Проблема в том, что пользователь в Windows известен как DefaultAppPool. Однако он не появляется нигде в диалоговом окне безопасности. Однако он настоящий пользователь. Моя проблема заключалась в том, что мне нужен был этот пользователь, чтобы быть частью группы PerformanceMonitorUsers, потому что мой веб-сервис использовал PerformanceCounters. Оказывается, вам нужно сделать это из командной строки.

net localgroup "Пользователи монитора производительности" DefaultAppPool/add

Иногда это не работает, и это даст вам ошибку: "Нет такого пользователя или группы: DefaultAppPool"

Чтобы добавить пользователя другим способом:

  • Перейдите в меню "Пуск" в Windows 7.
  • В поле поиска введите "Редактировать пользователей".
  • Откройте "Редактировать локальные пользователи и группы".
  • Перейдите в папку групп.
  • Щелкните правой кнопкой мыши группу "Пользователи монитора производительности" и перейдите к свойствам.
  • Нажмите кнопку "Добавить".
  • Введите "IIS APPPool\DefaultAppPool" и нажмите "Проверить имена".
  • Нажмите "ОК", и вам будет хорошо идти.

Ответ 2

Использовать сетевую локальную группу "Пользователи монитора производительности" "IIS AppPool\DefaultAppPool" /добавить

Ответ 3

Спасибо Fande455

У меня возникла эта проблема после переноса моих веб-приложений. Я действительно ссылаюсь на счетчики производительности в своем приложении, и, конечно же, я столкнулся с этой проблемой. Для меня это была обычная проблема, а на IIS6 и IIS7 в Windows 7 добавление обычных пользователей IIS в группу пользователей монитора производительности решает проблему. Однако на сервере Windows 2008 с запуском IIS7 это было не так, и этот пост действительно спас день.

Большое спасибо, я обновил свой оригинальный пост Здесь

Ответ 4

У меня была такая же проблема, и я сделал ту же настройку, что и обсуждалось выше, но для меня это не сработало. Изменения, которые работали, были

  • Перейдите в IIS (inetmgr.exe).
  • Проверьте настройки приложения AppPool.
  • Управляемый режим PipeLine должен быть интегрирован.
  • Идентификация модели процесса должна быть сетевой службой.

Это сработало в моем случае. Может быть, это поможет вам, если выше настройка не работает.

Ответ 5

В основном вам необходимо следовать инструкциям, но посмотрите на конфигурацию пула приложений, вам нужно будет найти исполняемую учетную запись пользователя и предоставить этому пользователю доступ к соответствующим разрешениям.

Ответ 6

Чтобы добавить к этому ответу, я несколько раз обнаружил, что мне пришлось перезапустить весь сервер, чтобы изменения вступили в силу, перезапуск службы веб-публикации был недостаточным. Если кто-то знает правильную комбинацию сервисов для перезагрузки, добавьте ответ.:)