Tornar configurações de configuração específicas do aplicativo e do diretório em um aplicativo ASP.NET

Este artigo descreve como tornar as configurações de configuração específicas do aplicativo e específicas do diretório em ASP.NET.

Versão original do produto: ASP.NET
Número de KB original: 815174

Resumo

O arquivoWeb.config está no diretório raiz de um aplicativo ASP.NET. O arquivoWeb.config especifica informações de configuração específicas do aplicativo. Você também pode definir as configurações em uma base por diretório. Há duas maneiras de fazer isso:

  • Distribua vários arquivosWeb.config para diretórios no aplicativo. Adicione um arquivo Web.config no diretório do aplicativo ASP.NET com configurações que substituem as configurações em um arquivo deWeb.config de nível superior ou no arquivo de configuração do computador do sistema (Machine.config).

  • Adicione configurações por diretório ou por arquivo diretamente ao arquivo Web.config do aplicativo. Esse método usa um único arquivoWeb.config para ativar as configurações por diretório. Você também pode usar esse método no arquivo Machine.config para forçar as configurações em ASP.NET aplicativos Web e, em seguida, impedir queWeb.config arquivos substituam Machine.config configurações.

Usar o elemento de localização no arquivo Machine.config

Para especificar as configurações que se aplicam a um aplicativo Web ou diretório, você pode adicionar o <location> elemento ao <configuration> elemento de um arquivo Machine.config do sistema. É útil quando você centraliza as configurações em um único arquivo. Também é útil em ambientes de hospedagem da Web exigir configurações específicas em aplicativos Web individuais.

O <location> elemento contém dois atributos path e allowOverride. O path atributo define o site ou o diretório virtual que as configurações abrangem. Para especificar que as configurações no <location> elemento se aplicam ao site padrão, defina o path atributo como Default Web Site. Para especificar que as configurações se aplicam ao aplicativo chamado MyApp no site padrão, defina o path atributo como Default Web Site/MyApp.

Quando o allowOverride atributo é falso, os arquivosWeb.config nos diretórios do aplicativo Web não podem substituir as configurações especificadas no <location> elemento. É uma configuração útil em ambientes em que você deve restringir os desenvolvedores de aplicativos na forma como eles configuram um aplicativo Web. O exemplo a seguir mostra uma parte de um arquivo Machine.config . O arquivo requer autenticação para acessar o aplicativo MyApp no site padrão e não pode ser substituído por configurações em um arquivo Web.config .

<configuration>
    <location path="Default Web Site/MyApp" allowOverride="false">
        <system.web>
            <authorization>
                <allow users="?" />
            </authorization>
        </system.web>
    </location>
</configuration>

Usar o elemento de localização no arquivo Web.config

Para especificar as configurações que se aplicam a um aplicativo ou diretório específico, adicione o <location> elemento ao <configuration> elemento de um arquivo Web.config de aplicativo. O <location> elemento normalmente contém um <system.web> elemento e outros elementos de configuração exatamente como você os usa no arquivo Web.config . O path atributo do <location> elemento especifica o diretório virtual ou o nome do arquivo em que os itens de configuração de local se aplicam. O exemplo a seguir mostra parte de um arquivo Web.config do aplicativo que especifica mensagens de erro personalizadas para o diretório virtual do fórum.

<configuration>
    <location path="forum" >
        <system.web>
            <customErrors mode="RemoteOnly" defaultRedirect="forum-error.aspx">
                <error statusCode="404" redirect="forum-file-not-found.aspx" />
            </customErrors>
        </system.web>
    </location>
</configuration>

Referências