Повторное использование пула приложений IIS - PullRequest
0 голосов
/ 23 июня 2011

Мне приходится программно перерабатывать пул приложений IIS (версия 7.5) с использованием c #.Когда я пытаюсь получить ApplicationPoolCollection с использованием класса «ServerManager», возникает UnauthorizedAccessException.Я думаю, что я должен использовать олицетворение.Но я не знаю использовать олицетворение.И есть ли в любом случае использовать олицетворение с атрибутом вместо web.config?

1 Ответ

0 голосов
/ 24 июня 2011

Для выполнения любых административных операций в IIS, таких как переработка пулов приложений, запуск и остановка сайтов, создание веб-сайтов и т. Д., Вам нужно работать от имени администратора.

Если вы хотите программно имитировать пользователя, вам нужно использовать метод WindowsIdentity.Impersonate.

Там есть достаточно хороший фрагмент примера кода, чтобы вы могли начать.

Конечно, все обычные предостережения применяются здесь, когда речь идет о хранении учетных данных для пользователей с высоким уровнем привилегий в файле web.config (или жестко заданном коде).

Также, если вы пытаетесь отлаживать код, который осуществляет программный доступ к IIS с помощью управляемого ServerManager API, убедитесь, что вы запустили Visual Studio, выполнив «Запуск от имени администратора». Это необходимо сделать, даже если ваша собственная учетная запись Windows является членом группы «Администраторы».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...