Deletado em 21 de janeiro de 2009

Definições da Aplicação (AppSettings)

Olá galera!

Hoje estou jogando fora uma coisa muito interessante e muito importante para nossas aplicações ASP.Net.

Podemos na Web.Config (Configuração da nossa aplicação web), guardar N coisas como string de conexão, modo de autenticação, versão do Assembly e outras coisas... Entre essas coisas mais esta nossa appSettings.

E para que serve o appSettings? No appSettings podemos criar chaves e definir valores para essas chaves e, o que eu acho muito bom, não precisamos recompilar a aplicação para trocar o valor dessas chaves.

Ok, vamos para dois exemplos de onde usar a appSettings:

1- Vamos supor que logo após a homologação do projeto, seu cliente, decidiu trocar o e-mail no qual ele recebe quando a aplicação envia. Ao invés de ir procurar a variável que guardamos o e-mail dele e trocar pelo novo, na appSettings trocamos para o novo e-mail e pronto.

2- "- Que bacana João, olha essa condição, se item == 45. Porque 45???". Claro que não vamos colocar tudo no appSettings, mas seria bem melhor entender se a condição fosse, se item == appSettings["Carro"]. Um exemplo básico!

Aeeeeeeeeee está explicado... Agora mãos a obra!

Vamos na nossa Web.Config criar nossas chaves. É extremamente simples:

Onde Key é o nome da chave e Value o valor da mesma.

No ASP.Net, vamos inventar algo para utilizar nossas chaves... Bom, para começar vamos adicionar algumas referências:

using System.Configuration;
using System.Collections.Specialized;
using System.Text;

A primeira é para chamar itens de configuração, a segunda para utilizar um tipo de coleções e a última para usar o StringBuilder, que hoje não vou comentar muito sobre ele, outro dia vou jogar uma grande quantidade de texto sobre Strings fora!

Vamos criar variáveis e preenchê-las com algumas chaves:

string Nome = ConfigurationManager.AppSettings["Nome"];
string Sobrenome = ConfigurationManager.AppSettings["Sobrenome"];
string Idade = ConfigurationManager.AppSettings["Idade"];

Vamos elaborar um texto e colocar Labels dizendo que eles possuem o valor das minhas variáveis. Poderiamos ter feito direto, mas assim fica bem limpinho...

protected void Page_Load(object sender, EventArgs e)
{
     lblNome.Text = Nome + " " + Sobrenome;
     lblIdade.Text = Idade;
     lblFerramentas.Text = PreencheFerramentas();
}

Avançando um bucadinho... Pode-se ver que eu carreguei um Label com um método... Vamos analisar ele!

Quero explicar aqui, que o ConfigurationManager.AppSettings retorna uma lista com todas as minhas chaves... Isso também é muito interessante, já que assim podemos saber se existe ou não uma determinada chave... Ahh se tentarmos usar uma chave que não existe -> NullReferenceException.

E o método???

Fácil. No começo criamos uma Array de strings definidas com 4 elementos, criamos uma objeto do tipo NameValueCollection que é uma coleção com as minhas chaves e, por fim, um StringBuilder para, basicamente, concatenar tudo.

Quero verificar se nos itens da minha Array, existe algum com chave no appSetting. Se tiver, vamos pegar o valor desta chave e concatenar no StringBuilder, no final, transformamos nosso StringBuilder em uma string que é retonada ao Label.

Legal para brincar! Já chuta tudo: Array, NameValueCollection e StringBuilder... Muito 10!

F5

Link para o projeto.

Espero que reciclem todo o Lixo! Até a próxima.

OBS: Artigo publicado no linha de código

0 comentários:

Postar um comentário

Jogue sua opinião na lixeira!

Topo