Desenvolvimento - ASP. NET
Web.config – Uma Visão Geral
Neste artigo vou falar um pouco sobre o web.config e dar alguns exemplos de utilização.
por Ícaro C. BombonatoNeste artigo vou falar um pouco sobre o web.config e dar alguns exemplos de utilização.
O web.config, é um arquivo no formato xml onde você pode colocar as informações de configuração da sua aplicação, tais como, cultura, string de conexão, páginas de erro, trace, modo de compilação e etc.
Devemos utilizar o web.config, para armazenar valores e parâmetros que sejam comuns a toda nossa aplicação.
Vale lembrar que o web.config é case-sensitive portanto <add key e <ADD KEY são coisas diferentes e podem fazer com que seu arquivo não funcione corretamente.
Um exemplo clássico de utilização do web.config é o armazenamento da string de conexão, pois a mesma pode variar de cliente p/ cliente, pode haver mudança de servidor e etc.
Para criarmos a string de conexão no web.config, devemos criar uma chave no nosso arquivo para depois podermos resgatá-la.
Colocaremos nossa chave dentro da tag <configuration><appSettings>, pois é nela que devemos adicionar nossas configurações customizadas. Utilizamos o parâmetro key da tag add para adicionarmos uma chave e definimos o valor no parâmetro value.
O código ficaria assim:
<configuration> <appSettings> <add key="appConexao" value="Provider=SQLOLEDB.1;Persist Security Info=False; User ID=sa;Initial Catalog=Artigos;Data Source=dbICARO" /> </appSettings> </configuration>
Para resgatarmos a chave criada, nosso código ficaria assim:
Dim strConexao As String = System.Configuration.ConfigurationSettings.AppSettings("appConexao")
Assim a variável strConexao assumirá o valor que está no web.config e caso haja uma mudança de servidor é só alterar o mesmo que sua aplicação continuará funcionando. Outra coisa bem útil do web.config são os parâmetros de páginas, que quando são comuns devem ser centralizados.
Os parâmetros das páginas são armazenados na tag <configuration><system.web>. Como exemplo de parâmetro de página vamos ver o buffer, smartNavigation e a ViewState. Caso você queira desabilitar a ViewState, deixar o buffer ativo e ativar o smartNavigation em todas as páginas basta colocar o seguinte código:
<configuration><system.web><pages buffer="on" enableViewState="false" smartNavigation="true" /></system.web></configuration>
Podemos também definir a Cultura da nossa aplicação no web.config, pois através dela iremos definir os formatos das datas, moeda, língua e etc. Para deixarmos nossa aplicação com os padrões brasileiros, devemos utilizar a cultura "pt-BR". No web.config ficaria assim:
<configuration><system.web><globalization culture="pt-BR" /></system.web></configuration>Outra configuração que podemos adotar em nossas aplicações são os tratamentos de erros. Para isso devemos criar uma página que servirá como página de erro e redirecionar o usuário através do web.config. Assim sempre que ocorrer um erro que não foi tratado será exibido para o usuário uma página mais amigável ao invés do erro em si. Utilize a tag customErros e defina uma página no defaultRedirect. Podemos também definir outras páginas para cada tipo de erro, como por exemplo, página não encontrada. Para isso devemos utilizar o statusCode da tag error. Outro parametro que merece importância é o mode, nele definimos como os erros serão exibidos para o usuário.
Temos 3 valores:
"on" - Qualquer erro será redirecionado para a página definida.
"RemoteOnly" - Quando você estiver rodando a aplicação local, o erro será exibido. Quando estiver rodando remotamente, será redirecionado.
"off" - O erro sempre será exibido.
<configuration> <system.web> <customErrors mode="On" defaultRedirect="frmErro.aspx"> <error statusCode="404" redirect="frmNaoEncontrada.aspx" /> </customErrors> </system.web> </configuration>
Alguns statusCode:
404 - Página não encontrada (File not found)
403 - Acesso negado (Access denied)
500 - Erro no servidor (Server error)
Encerro este artigo por aqui, espero que tenham gostado.
Caso tenha algum tema que você queira que eu escreva me envie um e-mail, toda sugestão é bem vinda.
Abraços,
Ícaro Bombonato
icaro@codificando.net