Exportar (0) Imprimir
Expandir Todos

Formato dos Ficheiros de Configuração do ASP.NET

As informações de configuração dos recursos de ASP.NET estão contidas numa colecção de ficheiros de configuração, cada um com o nome Web.config. Cada ficheiro de configuração contém uma hierarquia aninhada de marcas e submarcas XML com atributos que especificam as definições de configuração. Dado que as marcas têm de ter sido correctamente concebidas em XML, as marcas, submarcas e atributos são sensíveis a maiúsculas e minúsculas. Os nomes das marcas e os nomes dos atributos apresentam um concatenado com minúsculas e maiúsculas, ou seja, o primeiro carácter de um nome de marca é uma minúscula e a primeira letra de quaisquer palavras concatenadas subsequentes é uma maiúscula. Os valores dos atributos apresentam uma combinação de maiúsculas e minúsculas de Pascal, o que significa que a primeira letra de quaisquer palavras concatenadas subsequentes é uma maiúscula. As excepções são true e false, que se encontram sempre em minúsculas.

Todas as informações de configuração residem entre as marcas XML de raiz <configuration> e </configuration>. As informações de configuração entre as marcas estão agrupadas em duas áreas principais: a área de declaração do processador da secção de configuração e a área de definições da secção de configuração.

As declarações do processador da secção de configuração aparecem no topo do ficheiro de configuração entre as marcas <configSections> e </configSections>. Cada declaração contida numa marca <section> especifica o nome de uma secção que fornece um conjunto específico de dados de configuração e o nome da classe do .NET Framework que processa os dados de configuração nessa secção.

A área de definições da secção de configuração segue-se à área <configSections> e contém as definições de configuração reais. Existe uma secção de configuração para cada declaração na área <configSections>. Cada secção de configuração contém submarcas com atributos que contêm as definições dessa secção.

O seguinte exemplo de ficheiro Web.config declara dois processadores de <section> de configuração. Um gere as definições da aplicação e o outro gere o estado da sessão.

<configuration>

<configSections>

<section name="appSettings"

type="System.Configuration.NameValueFileSectionHandler,

System, Version=1.0.3300.0,

Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

<section name="sessionState"

type="System.Web.SessionState.SessionStateSectionHandler,

System.Web, Version=1.0.3300.0, Culture=neutral,

PublicKeyToken=b03f5f7f11d50a3a"

allowDefinition="MachineToApplication"/>

</configSections>

<appSettings>

<add key="dsn" value="localhost;uid=MyUserName;pwd=;"/>

<add key="msmqserver" value="server\myqueue"/>

</appSettings>

<sessionState cookieless="true" timeout="10"/>

</configuration>

Só tem de declarar uma vez um processador da secção de configuração. Pode colocá-lo no ficheiro Machine.config na raiz do servidor ou num ficheiro Web.config no directório virtual que contém os ficheiros da aplicação Web. Os ficheiros de configuração nos subdirectórios herdam automaticamente os processadores de configuração declarados em directórios principais. Para mais informações, consulte Herança da Configuração no ASP.NET.

As definições de configuração são, frequentemente, aninhadas em marcas de agrupamento de secções. Estas marcas de secção de nível superior, normalmente, representam o espaço de nomes ao qual se aplicam as definições de configuração. Por exemplo, a marca de nível superior <system.net> representa as definições das classes de rede e a marca <system.web> representa as definições das classes ASP.NET.

O seguinte exemplo mostra o aninhamento de marcas.

<configuration>

<configSections>

<sectionGroup name="system.net">

<section name="authenticationModules"

type="System.Net.Configuration.NetAuthenticationModuleHandler,

System, Version=1.0.3300.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089"/>

<section name="webRequestModules"

type="System.Net.Configuration.WebRequestModuleHandler,

System, Version=1.0.3300.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089"/>

</sectionGroup>

<sectionGroup name="system.web">

<section name="authorization"

type="System.Web.Configuration.AuthorizationConfigHandler,

System.Web, Version=1.0.3300.0, Culture=neutral,

PublicKeyToken=b03f5f7f11d50a3a"/>

<section name="sessionState"

type="System.Web.SessionState.SessionStateSectionHandler,

System.Web, Version=1.0.3300.0, Culture=neutral,

PublicKeyToken=b03f5f7f11d50a3a"

allowDefinition="MachineToApplication"/>

</sectionGroup>

</configSections>

<system.net>

<! -- Net Class Settings would go here. -->

</system.net>

<system.web>

<authorization>

<allow users="*"/> <!-- Allow all users -->

<!-- Allow or deny specific users.

allow users="[comma separated list of users]"

roles="[comma separated list of roles]"/>

<deny users="[comma separated list of users]"

roles="[comma separated list of roles]"/>

-->

</authorization>

<sessionState

sqlConnectionString="data source=localhost;

Integrated Security=SSPI;

Initial Catalog=northwind"

cookieless="false"

timeout="10"/>

</system.web>

</configuration>

A infra-estrutura de configuração do ASP.NET não pressupõe os tipos de dados de configuração que a infra-estrutura suporta. As classes do processador da secção de configuração processam todos os dados Web.config. Pode utilizar os processadores da secção de configuração predefinidos, fornecidos com o .NET Framework, ou pode criar processadores próprios para processarem os dados de configuração personalizados do utilizador.

Considera isto útil?
(1500 caracteres restantes)
Obrigado pelos seus comentários

Conteúdo da Comunidade

Adicionar
Mostrar:
© 2014 Microsoft