Назад | Перейти на главную страницу

Менеджер IIS: хранит информацию вне web.configs?

Я думал, что диспетчер IIS был просто графическим интерфейсом для текстовых файлов конфигурации, которые, в свою очередь, представляли всю конфигурацию IIS в иерархической форме.

Поэтому, когда я редактирую настройку на уровне приложения, я ожидал, что либо

Я заметил, что настройка аутентификации, похоже, не делает ни того, ни другого:

Когда я меняю эти настройки, web.config не затрагивается. Однако их все еще помнят. Так где они хранятся?

Вы правы, все настройки IIS хранятся в текстовых файлах XML, но для каждой настройки есть как минимум два возможных файла, в которых хранится настройка.

Какой из них используется инструментами графического интерфейса, зависит от Feature Delegation для этой настройки. Если Delegation имеет Read/Write их настройки обычно хранятся в локальном файле web.config. Если это Read Only, он хранится в ApplicationHost.config (в %systemroot%\System32\inetsrv\config) или для настроек asp.net в (%systemroot%\Microsoft.NET\Framework64\v4.0.30319\Config).

Графический интерфейс должен правильно показывать, какой файл используется (в строке состояния). Если вы используете Configuration Editor вы можете выбрать, какой файл использовать (в правом верхнем углу окна).

Если у вас есть файл web.config в папке или для приложения, настройки также могут храниться в родительском файле web.config, либо в другой папке, либо на сайте.

Если вы не видите изменений в локальном файле web.config, проверьте родительский файл web.configs или файлы конфигурации на уровне машины.