Editando diretamente o arquivo de configuração applicationHost.config do IIS 7

35

Eu sei que o IIS 7+ agora usa arquivos de configuração XML em vez da metabase. Também sei que, se eu editar um arquivo web.config para um determinado site, o IIS detectará automaticamente as alterações e implementará quaisquer alterações de configuração correspondentes.

No entanto, isso também se aplica ao arquivo de configurações applicationHost.config no nível do servidor? (Geralmente, ele está localizado em C: \ windows \ system32 \ inetsrv \ config.) Especificamente, é seguro editar cuidadosamente esse arquivo em vez de usar o Gerenciador do IIS ou o utilitário de linha de comando appcmd? Eu não consegui encontrar nada na documentação que dizia que estava tudo bem ou não estava bem fazer isso.

Estou curioso porque preciso alterar as ligações de vários sites de um IP para outro. Seria muito mais rápido simplesmente fazer uma pesquisa global e substituir o endereço IP no arquivo de configuração, em vez de editar manualmente algumas dezenas de sites na GUI.

    
por lunadesign 15.11.2011 / 18:30

4 respostas

46

Verifique também esta resposta aqui: Não é possível editar manualmente o applicationhost.config

A resposta é simples, se não tão óbvia: o win2008 é de 64 bits, o notepad ++ é de 32 bits. Quando você navega para o Windows \ System32 \ inetsrv \ config usando o explorer, você está usando um programa de 64 bits para encontrar o arquivo. Quando você abre o arquivo usando o notepad ++ você está tentando abri-lo usando um programa de 32 bits. A confusão ocorre porque, ao invés de dizer a você que isso é o que você está fazendo, o Windows permite abrir o arquivo, mas quando você o salva, o caminho do arquivo é mapeado de forma transparente para o Windows \ SysWOW64 \ inetsrv \ Config.

Então, na prática, o que acontece é você abrir o applicationhost.config usando o notepad ++, fazer uma alteração, salvar o arquivo; mas em vez de sobrescrever o original, você está salvando uma cópia de 32 bits dele no Windows \ SysWOW64 \ inetsrv \ Config, portanto, você não está fazendo alterações na versão que é realmente usada pelo IIS. Se você navegar para o Windows \ SysWOW64 \ inetsrv \ Config, você encontrará o arquivo que acabou de salvar.

Como contornar isso? Simples - use um editor de texto de 64 bits, como o bloco de notas normal que vem com o Windows.

    
por 31.05.2014 / 09:07
9

Specifically, is it safe to carefully edit this file instead of using IIS Manager or the appcmd command line utility?

Sim! Você pode editar o arquivo applicationhost.config diretamente se for um administrador na máquina; isso é tudo o que as ferramentas de administração também fazem.

Se você tiver problemas, pelo menos 20 minutos de backups de configuração serão armazenados em \ inetpub \ history por padrão.

    
por 16.11.2011 / 09:09
3

Você encontrará uma boa introdução ao arquivo applicationHost.config em IIS.NET . Há também uma Referência completa para todos os elementos no esquema de configuração do IIS.

Está bem documentado na verdade: -)

    
por 26.12.2011 / 03:40
0

Outro ponto útil a ser conhecido: ao editar manualmente o arquivo applicationHost.config (como fazem as ferramentas), somente os aplicativos para os quais você alterou a configuração serão reciclados. O IIS, na verdade, tira um instantâneo da configuração de cada aplicativo e não o atualiza até que algo seja alterado para esse aplicativo.

    
por 23.04.2014 / 20:14