Web.Config: Armazenando e Recuperando Dados - Parte 2

Na última parte veremos a conclusão de nosso exemplo prática que irá armazenar e recuperar dados do arquivo Web.Config.


Voltando do ponto em que paramos, antes de criarmos as propriedades em nossa classe, temos que usar os atributos de configuração:


Uso o ConfigurationProperty, que espera o nome da propriedade, que no nosso exemplo é Producao, e o atributo IsRequired como true, que informa que ela é obrigatória.

Após isso, crie as seguintes propriedades, ambas já “setadas” com o ConfigurationProperty:

[ConfigurationProperty("Ambiente", IsRequired = true)]

public string Ambiente { get; set; }

[ConfigurationProperty("Database", IsRequired = true)]

public string Database { get; set; }

Agora no método que foi criado pela implementação, vamos alimentar as propriedades desta forma:

public object Create(object parent, object configContext, System.Xml.XmlNode section)

{

Ambiente = section.Attributes["Ambiente"].Value;

Database = section.Attributes["Database"].Value;

 

return this;

}

Resumindo, nossa classe InformacoesAmbiente é um tipo que irá armazenar e recuperar os dados do Web.Config para minha aplicação. Lá no Web.Config criei uma seção, com suas propriedades que estão descritas em minha classe, que implementa o tipo da seção do Web.Config, que usa a implementação IConfigurationSectionHandler.

Finalizando, dentro deste método Create, passamos as variáveis Ambiente e Database, criadas acima, que recebem os atributos referentes às propriedades criadas em minha seção do Web.Config.

Agora vá ao Default.aspx e crie dois labels e dois textboxes, para que fiquem dessa forma:


Os Textboxes irão exibir as informações armazenadas no Web.Config. Altere o ID deles para txtAmbiente e txtBancoDados, respectivamente.

Agorá vá a página de códigos da Default.aspx e crie um método chamado RecuperaDados:

private void RecuperaDados()

{

try

{

//Instancio a classe InformacoesAmbiente

InformacoesAmbiente objInfo = new InformacoesAmbiente();

 

//Faço um Cast(conversão) em meu objeto instanciado e uso o método GetSection

//para recuperar os dados da seção ConfigAmbiente que foi criada no Web.Config

objInfo = (InformacoesAmbiente)ConfigurationManager.GetSection("ConfigAmbiente");

 

//Com as informações armazenadas passo os valores das propriedades aos textboxes

txtAmbiente.Text = objInfo.Ambiente;

txtBancoDados.Text = objInfo.Database;

}

catch (Exception ex)

{

throw new Exception(ex.Message);

}

}

Agora chame o método no Page_Load da página:

protected void Page_Load(object sender, EventArgs e)

{

RecuperaDados();

}

Salve o projeto e compile. Irá aparecer a mensagem para você modificar o Web.Config para permitir a compilação, clique em OK e aguarde.


Dessa forma vemos sendo preenchido os textboxes com os valores recuperados do Web.Config.

Faça um teste e altere os valores do Ambiente e do Database para Homologação e DBHomologacao, respectivamente, compile e veja o resultado:


Assim finalizo o artigo.

Para quem se interessar, disponibilizo o código fonte desse projeto aqui.

Quaisquer dúvidas mandem emails para wellingtonbalbo@gmail.com ou deixem nos comentários deste artigo que responderei o mais rápido possível.

Até o próximo artigo!

Artigos relacionados