Sunteți pe pagina 1din 8

16/4/2014 Manipulando o Web.Config Armazenando e Recuperando Dados | Programando .

NET
http://programandodotnet.wordpress.com/2010/07/11/manipulando-o-web-config-%E2%80%93-armazenando-e-recuperando-dados/ 1/11
Publicado por programator
Programando .NET
Dicas, Artigos e Vdeos de Programao em Geral
Manipulando o Web.Config Armazenando e Recuperando Dados
JUL 11
Ol pessoal, neste artigo mostrarei como armazenar e recuperar dados do arquivo Web.Config em uma aplicao ASP.NET.
Fao este artigo com base na videoaula de Bruno Belizrio (mailto:bsbelizario@hotmail.com), do Portal Linha de Cdigo
(http://www.linhadecodigo.com.br/videos_dotnet/), mediante autorizao do mesmo. Acompanhem o passo-a-passo:
Como muitos devem saber, o Web.Config o arquivo principal de configurao de uma aplicao ASP.NET. Este arquivo j vem com diversas
configuraes padro, mais podemos adicionar novas sees dentro dele, criando assim novas opes de acordo com nossas necessidades.
V em File > New Project (CTRL + SHIFT + N), escolha o template ASP.NET Web Application e d o nome de ExemploWebConfig, como a
Figura 01 nos mostra:
16/4/2014 Manipulando o Web.Config Armazenando e Recuperando Dados | Programando .NET
http://programandodotnet.wordpress.com/2010/07/11/manipulando-o-web-config-%E2%80%93-armazenando-e-recuperando-dados/ 2/11
(http://programandodotnet.files.wordpress.com/2010/07/newproject.jpg)
Figura 01 Criao do projeto
Aps a criao da aplicao, abra o Web.Config e crie uma seo que ser responsvel por armazenar dados sobre o ambiente da aplicao com
o cliente, se est em homologao ou produo (lembrando que este um exemplo fictcio, seguindo a videoaula de Bruno Belizrio).
Crie uma classe que ser o tipo de dados que ir estruturar minhas informaes. Na Solution Explorer (CTRL + W + S), v em Add > New
Class, d o nome de InformacoesAmbiente.cs e clique em OK, como ilustrado na Figura 02.
16/4/2014 Manipulando o Web.Config Armazenando e Recuperando Dados | Programando .NET
http://programandodotnet.wordpress.com/2010/07/11/manipulando-o-web-config-%E2%80%93-armazenando-e-recuperando-dados/ 3/11
(http://programandodotnet.files.wordpress.com/2010/07/newclass.jpg)
Figura 02 Criao da classe
Agora v ao Web.Config, em cima de </configSections>, crie uma nova seo como pode ser visto na Listagem 01:
Listagem 01 Criao de uma Seo no Web.Config
Como pode ser visto, uso os atributos name, para dar um nome seo, type, para especificar o namespace + o nome da classe que acabamos de
criar e o namespace novamente.
Agora, entre appSettings e connectionStrings, vamos descrever os dados da seo que acabamos de criar e criar alguns atributos, como pode
ser visto na Listagem 02.
1 <section name="ConfigAmbiente" type="ExemploWebConfig.InformacoesAmbiente, ExemploWebConfig"/>
16/4/2014 Manipulando o Web.Config Armazenando e Recuperando Dados | Programando .NET
http://programandodotnet.wordpress.com/2010/07/11/manipulando-o-web-config-%E2%80%93-armazenando-e-recuperando-dados/ 4/11
Listagem 02 Descrio dos dados da seo criada
Criei duas propriedades, uma informando qual o ambiente da aplicao e outra informando qual o database que estamos trabalhando. Neste
exemplo o de Produo.
Agora vamos criar as propriedades referentes s declaradas no Web.Config. Volte classe criada anteriormente. Temos que fazer com que nossa
classe implemente uma interface especfica (IConfigurationSectionHandler) para trabalhar com valores vindos do Web.Config, como pode ser
ilustrado na Figura 03:
(http://programandodotnet.files.wordpress.com/2010/07/iconfigurationsectionhandler.jpg)
Figura 03 Implementao da Interface IConfigurationSectionHandler
Como voc pode ver na imagem acima, quando implementamos esta interface, o Visual Studio j nos sugere que a declaremos em nosso cdigo.
Clique na 1 opo para implement-la.
OBS: Se voc no conseguir acessar esta interface, porque no foi declarado o namespace System.Configuration, no se esquea dele.
Antes de criarmos as propriedades em nossa classe, temos que usar os atributos de configurao, como pode ser visto na Figura 04.
1 <ConfigAmbiente Ambiente="Producao" Database="DBProducao"/>
16/4/2014 Manipulando o Web.Config Armazenando e Recuperando Dados | Programando .NET
http://programandodotnet.wordpress.com/2010/07/11/manipulando-o-web-config-%E2%80%93-armazenando-e-recuperando-dados/ 5/11
(http://programandodotnet.files.wordpress.com/2010/07/configurationpropertyattributes.jpg)
Figura 04 Atributos de Configurao do ConfigurationProperty
Uso o ConfigurationProperty, que espera o nome da propriedade, que no nosso exemplo Producao, e o atributo IsRequired como true, que
informa que ela obrigatria.
Aps isso, crie as seguintes propriedades, ambas j setadas com o ConfigurationProperty, ilustradas na Listagem 03.
Listagem 03 Criao das Propriedades, que se utilizam do ConfigurationProperty
Agora no mtodo que foi criado pela implementao, vamos alimentar as propriedades como pode ser visto na Listagem 04.
Listagem 04 Alimentando as propriedades
1
2
3
4
5
6
7
[ConfigurationProperty("Ambiente", IsRequired = true)]

public string Ambiente { get; set; }

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

public string Database { get; set; }
1
2
3
4
5
6
7
8
public object Create(object parent, object configContext, <span class="skimlinks-unlinked">System.Xml.XmlNode</span> section)

{

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

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

16/4/2014 Manipulando o Web.Config Armazenando e Recuperando Dados | Programando .NET
http://programandodotnet.wordpress.com/2010/07/11/manipulando-o-web-config-%E2%80%93-armazenando-e-recuperando-dados/ 6/11
Resumindo, nossa classe InformacoesAmbiente um tipo que ir armazenar e recuperar os dados do Web.Config para minha aplicao. L
no Web.Config criei uma seo, com suas propriedades que esto descritas em minha classe, que implementa o tipo da seo do Web.Config,
que usa a implementao IConfigurationSectionHandler.
Finalizando, dentro deste mtodo Create, passamos as variveis Ambiente e Database, criadas acima, que recebem os atributos referentes s
propriedades criadas em minha seo do Web.Config.
Agora v ao Default.aspx e crie dois labels e dois textboxes, para que fiquem como pode ser visto na Figura 05.
(http://programandodotnet.files.wordpress.com/2010/07/default-aspx.jpg)
Figura 05 Default.aspx
Os Textboxes iro exibir as informaes armazenadas no Web.Config. Altere o ID deles para txtAmbiente e txtBancoDados, respectivamente.
Agor v a pgina de cdigos da Default.aspx e crie um mtodo chamado RecuperaDados, como ilustrado abaixo, na Listagem 05:
Listagem 05 Mtodo RecuperaDados
9
10
11
return this;

}
1
2
3
4
5
6
7
8
9
private void RecuperaDados()

{

try

{

//Instancio a classe InformacoesAmbiente
16/4/2014 Manipulando o Web.Config Armazenando e Recuperando Dados | Programando .NET
http://programandodotnet.wordpress.com/2010/07/11/manipulando-o-web-config-%E2%80%93-armazenando-e-recuperando-dados/ 7/11
Agora chame o mtodo no Page_Load da pgina, como visto na Listagem 06:
Listagem 06 Chamada do mtodo no evento Page_Load
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

InformacoesAmbiente objInfo = new InformacoesAmbiente();

//Fao um Cast(converso) em meu objeto instanciado e uso o mtodo GetSection

//para recuperar os dados da seo ConfigAmbiente que foi criada no Web.Config

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

//Com as informaes armazenadas passo os valores das propriedades aos textboxes

<span class="skimlinks-unlinked">txtAmbiente.Text</span> = objInfo.Ambiente;

<span class="skimlinks-unlinked">txtBancoDados.Text</span> = objInfo.Database;

}

catch (Exception ex)

{

throw new Exception(ex.Message);

}

}
1
2
3
4
5
6
7
protected void Page_Load(object sender, EventArgs e)

{

RecuperaDados();

}
16/4/2014 Manipulando o Web.Config Armazenando e Recuperando Dados | Programando .NET
http://programandodotnet.wordpress.com/2010/07/11/manipulando-o-web-config-%E2%80%93-armazenando-e-recuperando-dados/ 8/11
Salve o projeto e compile. Ir aparecer a mensagem para voc modificar o Web.Config para permitir a compilao, clique em OK e aguarde. A
Figura 06 ilustra os valores apresentados.
(http://programandodotnet.files.wordpress.com/2010/07/compiledproject.jpg)
Figura 06 Valores originais
Dessa forma vemos sendo preenchido os textboxes com os valores recuperados do Web.Config.
Faa um teste e altere os valores do Ambiente e do Database para Homologao e DBHomologacao, respectivamente, compile e veja o
resultado, ilustrado pela Figura 07:
(http://programandodotnet.files.wordpress.com/2010/07/compiledproject2.jpg)
Figura 07 Valores aps a alterao
Assim finalizo o artigo. Muito obrigado a todos!
Para quem se interessar, disponibilizo o cdigo fonte desse projeto aqui (http://www.4shared.com/file/KgedRMLG/ExemploWebConfig.html).
Crditos Bruno Belizrio (mailto:bsbelizario@hotmail.com), que fez a videoaula e ao Portal Linha de Cdigo
(http://www.linhadecodigo.com.br/videos_dotnet/), por onde pude baix-la (mediante assinatura), estud-la e posteriormente fazer este artigo.
Quaisquer dvidas mandem emails para wellingtonbalbo@gmail.com (mailto:wellingtonbalbo@gmail.com) ou deixem nos comentrios deste
artigo que responderei o mais rpido possvel.

S-ar putea să vă placă și