Есть ли способ сказать IIS7 Manager изменить обработчики в applicationHost.config?

Всякий раз, когда я добавляю отображение обработчика для веб-сайта в диспетчере IIS7, оно всегда добавляет обработчик к локальному сайту. web.config файл.

Есть ли способ, чтобы сказать менеджеру, чтобы только добавить сопоставление обработчика в конфигурацию сайта в applicationHost.config, например:

<location path="Test Site">
    <system.webServer>
        <handlers>
            <clear />
            <add 
                name="PHP-FastCGI" 
                path="*.php" verb="GET,HEAD,POST" 
                modules="FastCgiModule" 
                scriptProcessor="c:\php\php-cgi.exe" 
                resourceType="Either" 
            />
            <-- Other handler mappings here -->
        </handlers>
        <security>
            <authentication>
                <anonymousAuthentication 
                    enabled="true" 
                    userName="i_test" 
                    password="[enc:AesProvider:snipped:enc]" 
                />
            </authentication>
        </security>
    </system.webServer>
</location>

Я знаю как это сделать используя appcmd с использованием /commit:apphost переключиться, но было бы неплохо добиться этого через пользовательский интерфейс.

1 ответ

Решение

Диспетчер IIS целенаправленно устанавливает настройку на минимально допустимый уровень. Поскольку вам разрешено иметь этот набор в web.config сайта, он всегда будет применять его там.

IIS Manager сам не дает вам выбора, где его установить. Причина в том, что он быстро станет запутанным и беспорядочным для обычного администратора, поскольку параметр в applicationHost.config будет игнорироваться, если он также установлен в web.config. Поэтому самый простой способ избежать путаницы - это применять его на самом низком уровне.

Решение (помимо appcmd или непосредственного редактирования applicationHost.config) заключается в использовании редактора конфигурации из пакета администрирования IIS (он устанавливается по умолчанию с IIS 7.5 на WS08 R2). Это позволяет вам выбрать, где вы хотите применить настройки.

На самом деле, чтобы завершить, хотя обычно это не стоящий вариант для обработчиков, вы можете отключить делегирование для обработчиков для этого сайта или сервера. Затем IIS Manager установит его в applicationHost.config.

Другие вопросы по тегам