Existe uma maneira de informar aos manipuladores de modificação do Gerenciador do IIS7 no applicationHost.config?

3

Sempre que eu adiciono um Mapeamento de Manipulador para um site no Gerenciador do IIS7, ele sempre adiciona o manipulador ao arquivo web.config local do site.

Existe uma maneira de dizer ao gerente para adicionar apenas o mapeamento do manipulador à configuração do site em applicationHost.config , por exemplo:

<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>

Eu sei como fazer isso usando appcmd usando a opção /commit:apphost , mas seria bom conseguir isso por meio da interface do usuário.

    
por Kev 14.10.2009 / 15:17

1 resposta

4

O Gerenciador do IIS define propositalmente a configuração no nível mais baixo permitido. Já que você pode ter esse conjunto no web.config do site, ele sempre será aplicado lá.

O próprio Gerenciador do IIS não permite que você escolha onde configurá-lo. A razão é que rapidamente se tornaria confuso e confuso para o administrador médio, já que uma configuração em applicationHost.config seria ignorada se também fosse configurada no web.config. Portanto, a maneira mais limpa de garantir que não haja confusão é aplicá-lo no nível mais baixo permitido.

A solução (além do appcmd ou a edição do applicationHost.config diretamente) é usar o Configuration Editor a partir do IIS Admin Pack (ele é instalado por padrão com o IIS 7.5 no WS08 R2). Isso permite que você escolha onde deseja que as configurações sejam aplicadas.

Na verdade, para ser concluído, embora geralmente não seja uma opção válida para os manipuladores, é possível desativar a delegação para os manipuladores desse site ou do servidor. Em seguida, o Gerenciador do IIS configurará em applicationHost.config.

    
por 14.10.2009 / 15:36