Qual é a ordem de aplicar as configurações do IIS a partir do ApplicationHost.config e web.config

1

Se eu tiver uma configuração do IIS configurada em ApplicationHost.config e web.config, qual valor será aplicado? É um valor de ApplicationHost.config porque é global para todos os sites ou valor de web.config porque o substitui? E o que acontece quando eu não o configurei no web.config, ele deveria pegar essa configuração do ApplicationHost.config?

A configuração específica que preciso verificar é: system.webServer/security/requestFiltering/requestLimits/maxAllowedContentLength

A razão pela qual estou perguntando é porque estou obtendo resultados bastante estranhos quando tento configurar essas configurações a partir do aplicativo C #. Mesmo que eu não o tenha configurado para o site e eu tenha definido manualmente o valor no ApplicationHost.config, ainda estou recebendo um valor padrão do web.config

    
por username 02.12.2011 / 19:34

1 resposta

1

Arquivos de configuração herdam seus valores à medida que você desce no escopo (servidor - > site - > aplicativo), mas por padrão é somente para seções específicas. O site do IIS tem um artigo no arquivo ApplicationHost.config , bem como delegação de configuração .

Como exemplo, há duas seções requestFiltering diferentes no applicationHost.config: uma para um servidor FTP e outra para sites. Você pode ver como a seção de sites da Web (sistema. webServer ) permite que os valores sejam substituídos:

<section name="requestFiltering" overrideModeDefault="Allow" />

Considerando que a seção em system. ftpServer não.

<section name="requestFiltering" overrideModeDefault="Deny" />

Então, na sua pergunta. Você deve ser capaz de atualizar o Web.config para modificar a duração do conteúdo permitido para o seu site (e sub-sites), a menos que você tenha alterado o valor overrideModeDefault no seu applicationHost.config.

    
por 02.12.2011 / 20:47