Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Hierarquia e Herança do Arquivo de Configuração do ASP.NET

Você pode distribuir arquivos de configuração do ASP.NET em toda os diretórios de aplicativos para configurar aplicativos ASP.NET em uma hierarquia de herança.Essa estrutura permite que você atingir o nível de detalhes de configuração que os aplicativos requerem nos níveis de diretórios apropriados sem afetar configurações em níveis superiores de diretório.

Este tópico contém as seguintes seções:

Arquivos de configuração do ASP.NET são chamados arquivos Web.config, e eles podem aparecer em vários diretórios nos aplicativos ASP.NET.A hierarquia de configuração ASP.NET tem as seguintes características:

  • Usa arquivos de configuração que aplicam-se aos recursos dentro do diretório no qual o arquivo de configuração é colocado e para todas as suas pastas filhas.

  • Enables you to dados de configuração local onde it will have the apropriado escopo: the entire computador, Tudo Applications Web, an individual aplicativo, or a subdiretório within the aplicativo.

  • Permite substituir as configurações que são herdadas de níveis superiores na hierarquia de configuração.Também permite bloquear as configurações para impedir que eles sejam substituídas pelas configurações de um nível inferior.

  • Organiza grupos lógicos de definições de configuração em seções.

Todos os aplicativos .NET Framework herdam configurações básicas de configuração e os padrões de um arquivo nomeado \CONFIG\Computador.config SYSTEMROOT\Microsoft.NET\Framework\ versionNumber.O arquivo Computador.config é usado para as configurações configuração Server-Wide.Algumas dessas configurações não podem ser substituídas em arquivos de configuração que estão mais baixo na hierarquia.

Os aplicativos do cliente .NET (console e aplicativos do Windows) usam arquivos de configuração chamados NomedoAplicativo.config para substituir as configurações herdadas.Os aplicativos ASP.NET usam arquivos de configuração denominados Web.config para substituir as configurações herdadas.

A raiz da hierarquia de configuração do ASP.NET é um arquivo conhecido como o arquivo Web.config raiz, e ele está localizado no mesmo diretório que o arquivo Machine.config.O arquivo Web.config de raiz herda todas as configurações do arquivo Machine.config.O arquivo Web.config raiz inclui configurações que se aplicam a todos os aplicativos ASP.NET que executarem uma versão específica do .NET Framework.Porque cada aplicativo ASP.NET herda configurações padrão do arquivo Web.config raiz, você precisará criar arquivos Web.config somente para as configurações que substituem as configurações padrão.

Herança em Elementos de Coleção

Alguns elementos de configuração são coleções como o elemento namespaces e o elemento ErrosPersonalizados.

Em coleções, definições de configuração são geralmente adicionadas a coleção via um elemento filho add,removido pelo nome da chave via um elemento filho remove, ou toda a coleção pode ser limpa por um elemento filho clear.Uma configuração adicional em um arquivo de configuração filho substitui uma configuração com o mesmo nome chave em um arquivo de configuração pai, a menos que duplicatas sejam permitidas.

ObservaçãoObservação:

Algumas coleções que existiam em versões anteriores do .NET Framework usam um nome de elemento diferente de add.Por exemplo, o elemento ErrosPersonalizados usa um elemento filho error para adicionar erros personalizados à coleção.

Se uma solicitação for recebida para um arquivo no diretório SubDir1 que não existe, o ASP.NET começa a pesquisar a hierarquia de configuração, iniciando no máximo local arquivo Web.config (localizado no diretório atual, se ele existir, ou uma pasta pai).O ASP.NET está procurando por um elemento Erro Elemento customErrors (Esquema de Configurações ASP.NET) onde o atributo statusCode é igual a "404".Depois que o ASP.NET encontra a configuração para o erro 404, a URL no atributo redirect é retornado como a resposta.

Há diferentes escopos para configurações — alguns têm um escopo global, algumas são efetivas somente para o escopo do aplicativo, o arquivo Web.config raiz ou o arquivo Machine.config.

O escopo de uma seção configuração é definido no atributo allowDefinition do elemento seção Elemento de configSections (Configurações Gerais Esquema) no arquivo Computador.config para todas as seções inclusos ASP.NET.Por exemplo, o elemento Autenticação elemento (esquema configurações ASP.NET) tem um atributo de elemento de allowDefinitionMachineToApplication.Isso significa que o elemento authentication pode ser definido no arquivo Machine.config, o arquivo Web.config raiz e um arquivo Web.config no nível do aplicativo.Se ela estiver definida no nível de subdiretório, um erro é acionado.Se não houver nenhum atributo allowDefinition definido para uma seção, então o valor padrão é Everywhere.

O escopo de uma configuração é listado para cada elemento em Definições de configuração ASP.NET e Configurações gerais (ASP.NET), na tabela Informações de Elementos próxima a Locais Configuráveis.

A tabela a seguir lista o nível no qual cada arquivo está localizado na hierarquia de configuração, o nome de arquivo e uma descrição das características de herança importantes de cada arquivo.

Nível de configuração

File name

Descrição do arquivo

Server

Machine.config

O arquivo Machine.config contém o esquema ASP.NET para todos os aplicativos Web no servidor.Este arquivo está na parte superior da hierarquia de configuração de mesclagem.

Web Raiz

Web.config

O arquivo web.config para o servidor é armazenado no mesmo diretório do arquivo Machine.config e contem valores padrão para a maioria das seções de configuração system.web.Em tempo de execução, esse arquivo será mesclado em segundo a partir da parte superior na hierarquia de configuração.

Site

Web.config

O arquivo Web.config para um site específico contém configurações que se aplicam ao site da Web e herdam para baixo através de todos os aplicativos ASP.NET e subdiretórios do site.

Diretório raiz do aplicativo ASP.NET

Web.config

O arquivo Web.config para um aplicativo ASP.NET específico está localizado no diretório raiz do aplicativo e contém configurações que se aplicam à aplicativos Web e herdam para baixo através de todas as subpastas em seu ramo.

Subpasta do aplicativo ASP.NET

Web.config

O arquivo Web.config para uma subpasta do aplicativo contém configurações que se aplicam a este subdiretório e herdam para baixo através de todas as subpastas em seu ramo.

Diretório de aplicativos cliente

NomeDoAplicativo.config

O arquivo NomeDoAplicativo.config contém configurações para um aplicativo cliente Windows (não um aplicativo da Web).

O elemento ProcessModel

Um elemento, o elemento processModel elemento (esquema configurações ASP.NET), configura o modelo de processamento usado para o servidor, incluindo todos os aplicativos ASP.NET que estão no servidor.Assim, configurações do processModel podem ser colocadas somente no arquivo Machine.config, e eles não podem ser substituídos pelas configurações de qualquer arquivo Web.config.

As alterações no elemento processModel terão efeito somente quando o processo do operador for reiniciado, não imediatamente após a configuração é alterada conforme outros elementos de configuração.

ObservaçãoObservação:

Quando o ASP.NET está sendo executado em Serviços de Informações da Internet (IIS) 6.0 no modo de isolamento do processo do operador, o modelo de processo do IIS 6.0 é usado e as configurações na seção processModel do arquivo Machine.config são ignoradas.Para configurar a identidade do processo, ciclo processo ou outros valores de modelo processo, use o Gerenciador do IIS para configurar o processo do operador do IIS para o seu aplicativo.ASP.NET 2.0 não será executado quando você configurar o IIS 6.0 para executar ASP.NET no modo de isolamento do IIS 5.0.

Quando o servidor recebe uma solicitação para um determinado recurso da Web, o ASP.NET calcula as definições de configuração desse recurso hierarquicamente, usando todos os os arquivos de configuração localizados no caminho diretório virtual para o URL solicitada.As configurações locais substituem as configurações em arquivos de configuração pai.

Essas configurações são calculadas uma vez e, em seguida, armazenados em cache nas solicitações subseqüentes.O ASP.NET automaticamente observa alterações de arquivo e re-computa o cache quando qualquer um dos arquivos de configuração é alterado dentro desse arquivo da hierarquia.Quando o servidor recebe uma solicitação para um determinado URL, o ASP.NET usa a hierarquia de definições de configuração no cache para localizar o recurso solicitado.

O aplicativo é reiniciado quando uma alteração de configuração é feita a menos que o elemento seção de configuração inclua um atributo restartOnExternalChanges="false", ou a configuração esteja contida em um arquivo separado vinculado ao arquivo Web.config usando um atributo configSource.

Ao gerenciar um grande número de configurações ou sites da Web cliente em uma configuração de provedor de serviços de Internet, pode ser útil armazenar as configurações para vários locais em um arquivo Web.config.Usando o atributo path do elemento local, você pode configurar vários recursos específicos do ASP.NET armazenados em subdiretórios do aplicativo.

Para obter informações sobre como para usar o elemento local, consulte Como: Configure Directories Specific Using Configurações Local.

Configurações para diretórios virtuais são independentes da estrutura de diretório físico, e diretórios virtuais devem ser organizados com cuidado para evitar problemas de configuração.Por exemplo, você poderia ter um arquivo do ASP.NET chamado MyResource.aspx com a estrutura física de diretório a seguir.

C:
    \Subdir1
        \Subdir2
            \MyResource.aspx

Além disso, você pode ter um arquivo de configuração que está localizado em Subdir1, um diretório virtual chamado Vdir1 que é mapeado para c:\Subdir1 e um diretório virtual chamado Vdir2 que é mapeado para c:\Subdir1\Subdir2.Se um cliente acessar o recurso com o local físico de c:\Subdir1\Subdir2\MyResource.aspx usando o URL http://localhost/vdir1/subdir2/MyResource.aspx, o recurso herda as configurações de configuração de Vdir1.No entanto, se o cliente acessar o mesmo recurso usando a URL http://localhost/vdir2/MyResource.aspx, ele não herda as configurações de Vdir1.Criar diretórios virtuais dessa maneira pode causar resultados inesperados, ou mesmo uma falha do aplicativo.É recomendável que você não aniner diretórios virtuais, ou se você fizer isso, use apenas um arquivo Web.config.

Convém restringir a herança de configurações para melhorar o desempenho do aplicativo, manter alta confiabilidade e simplificar a administração.As restrições são controladas por atributos allowOverride, lockAttributes, lockAllAttributesExcept, lockAllElementsExcept, lockItem e lockElements.Para obter mais informações sobre esses atributos, consulte Atributos Geral herdados por elementos da seção.

Durante a criação do aplicativo ASP.NET, as configurações contidas no arquivo Aspnet.config são processadas pela Common Language Runtime (CLR).Essas configurações, entre outros, instruem o CLR em como processar exceções não tratadas.A configuração em questão é da seguinte maneira:

<legacyUnhandledExceptionPolicy enabled="false" />

Para obter mais informações, consulte Exceções in Threads Gerenciado.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft