Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1052
Assunto : ASP.NET
Titulo: Usando Server.GetLastError com customErrors

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



A tag CustomErrors do web.config nos permite redirecionar o usuário para uma página de erro personalizada e evitar que o usuário veja mensagens de erro tanto desagradáveis como perigosas pelo fato de expor detalhes da aplicação que permitem a um hacker invadir um site.

Um exemplo :

<customErrors mode="On" defaultRedirect="erros.aspx" />

Ao identificar um erro e exibir uma mensagem amigável para o usuário, desejaremos guardar a mensagem de erro original de forma que possamos saber o que aconteceu e corrigir. Para isso podemos usar a instrução Server.GetLastError e a partir dai guardar as informações.

O problema é que se utilizarmos o Server.GetLastError na página chamada pelo CustomErrors (neste exemplo, erros.aspx) não obteremos erro algum. Isso acontece porque o Server.GetLastError só é capaz de nos informar sobre um erro ocorrido durante a mesma chamada http, a mesma ida ao servidor. Por sua vez o customErrors ao faz um redirect para a página erros.aspx. O redirect cria uma nova chamada http entre o client e o servidor, impedindo o Server.GetLastError de funcionar.

Porém há uma solução para isso : a tag customErros ganhou o atributo redirectMode que nos permite alterar esse funcionamento.

Exemplo :

<customErrors mode="On" defaultRedirect="erros.aspx" redirectMode="ResponseRewrite" />

Quando utilizamos o redirectMode como ResponseRewrite estamos indicando que para exibir a página erros.aspx desejamos que não seja feito um redirect, mas sim que a página seja enviada através da mesma chamada http do erro.

Um dos principais efeitos disso é que torna-se possível chamar o Server.GetLastError na página erros.aspx, facilitando o registro do erro ocorrido.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 3/28/2012 10:10:00 AM
nome: Cleydson
email: cleydson14@gmail.com
comentário:
Muito bom, me salvou :D

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br