Início > .NET, app.config, C#, Desenvolvimento, Framework > Criando Seções Customizadas em .NET

Criando Seções Customizadas em .NET

Neste post iremos ver como montar uma seção customizada para um arquivo de configuração App.config ou Web.config

No exemplo iremos migrar os dados de um arquivo “.INI” com o formato abaixo para seções customizadas do app.config

Conteúdo Arquivo .INI

arquivo .INI

arquivo .INI

Existem três opções para a criação de uma seção customizada no app.config ou no web.config no .NET:

Opção 1: Utilizando a Classe SingleTagSectionHandler

A Classe SingleTagSectionHandler identifica o trecho da seção customizada em runtime e identifica

quais são as propriedades da seção. Para obter os dados da Seção é necessário fazer cast para o tipo Hastable.

Veja o exemplo Abaixo:

Arquivo App.Config trabalhando com SingleTagSectionHandler

Arquivo App.Config trabalhando com SingleTagSectionHandler

Utilizando a Classe SingleTagSectionHandler

Utilizando a Classe SingleTagSectionHandler

Opção 2: Utilizando a Classe NameValueSectionHandler

A Classe NameValueSectionHandler trata a seção como se fosse uma estrutura de dados do tipo NameValueCollection.

Para obter os dados da Seção é necessário fazer cast para o tipo NameValueCollection.

Veja exemplo abaixo:

Arquivo App.config utilizando a classe NameValueSectionHandler

Arquivo App.config utilizando a classe NameValueSectionHandler

Utilizando a Classe NameValueSectionHandler

Utilizando a Classe NameValueSectionHandler

Opção 3: Criar uma Classe que Herde de ConfigurationSection

Esta opção permite criar uma classe que represente os nós da seção customizada no app.config/web.config.

Principal vantagem é que não há a necessidade de fazer converção de tipos, visto que as informações da seção

são propriedades do objeto.

Para esta opção não fiz exemplo de código, caso queira ver como funciona segue logo abaixo algumas fontes muito boas:

Explica em 3 passos como criar a classe que custimza a seção

http://haacked.com/archive/2007/03/12/custom-configuration-sections-in-3-easy-steps.aspx

Explica cada classe do namespace System.Configuration

http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration.aspx

How to: Create Custom Configuration Sections Using ConfigurationSection

http://msdn.microsoft.com/en-us/library/2tw134k3.aspx

Outra grande vantagem em utilizar a opção 3 é na necessidade de criptografar a seção customizada no App.config/web.config.

No caso o desenvolvedor saberia as propriedades da seção uma vez que estas propriedades é possível acessá-las pela classe

que herda do objeto ConfigurationSection, mas não saberia o conteúdo das suas propriedades e nem a disposição delas no

app.config/web.config.

No caso das duas outras opções uma vez criptografada a seção não daria para saber quais são as propriedades da seção.

Das opções 1 e 2 fiz um programa de exemplo de funcionamento de cada uma delas.

Caso queira baixar o exemplo para estudar segue link do programa de teste logo abaixo:

CustomSection.rar

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: