Esse artigo faz parte da revista .NET Magazine edição 59. Clique aqui para ler todos os artigos desta edição

 

op-alt: solid windowtext .5pt" vAlign=top width=575>

·         O que é o Global.asax;

·         Eventos do Global.asax;

·         Aplicação prática: Tratando erros com global.asax.

Qual a finalidade

·         Controlar eventos do web site, no nível da aplicação.

Quais situações utilizam esses recursos?

·         Aplicações web que precisam controlar eventos diversos, como o início da aplicação, o fim, o início de um request, ou um erro não gerenciado.

 

Resumo do DevMan

O global.asax é capaz de tratar eventos da aplicação de forma global. Com ele é possível tratar erros ocorridos em toda aplicação, manipular respostas ao usuário, criar logs de acesso, iniciar eventos no início de uma sessão entre muitas outras funcionalidades.

 

Aplicações web estão cada vez mais parecidas com aplicações desktop, seja no modo de programar, seja na usabilidade cada vez mais avançada com a web 2.0. Quando programamos para web, não pensamos em projetos web como sendo uma aplicação, mas se observado, o IIS trata cada site como uma, através de seus diretórios virtuais. Estas aplicações podem ser reiniciadas, paradas, removidas, inicializadas assim como qualquer outra aplicação.  Neste artigo veremos o que é o global.asax e como utiliza-lo de forma a tratar eventos que ocorrem no nível da aplicação. No exemplo prático, será feito um log de erro da aplicação web.

 

Por dentro do Global.asax

Quem já programou em ASP, seja o ASP 2.0, 3.0, já está acostumado em ter um arquivo que orbita por toda aplicação, o “global.asa”. O ASP.NET possui uma versão mais atualizada do global.asa, o global.asax. Este arquivo, embora opcional nas aplicações web, pode trazer inúmeros benefícios se bem utilizado, e permitir rastrear uma série de informações inerentes ao site, como monitorar erros, criar um log de acesso, segurança, cache, sessão, entre outros. O global.asax trata respostas no nível da aplicação e eventos da sessão ASP.Net, permitindo programar no lugar do HttpApplication, que representa a aplicação, implementando métodos e tratando eventos.

O arquivo deve ficar na raiz do projeto web. Por ser opcional, se o arquivo não existir na raiz, ele passa a assumir um comportamento “padrão” do ASP.Net. Caso o arquivo exista, a aplicação passa a utilizar os seus métodos. Dependendo do evento da aplicação, o global.asax é executado, e sua resposta pode ser enviada junto com a requisição http feita pelo usuário da aplicação.

Se o arquivo for alterado, o CLR (Common Language Runtime) detecta a alteração, reiniciando o aplicativo para que as novas ações possam ser executadas.

Na Tabela 1 temos uma descrição dos principais eventos do global.asax. Dentre estes eventos, gostaria de destacar o “Application_init”. Este evento ocorre quando a aplicação inicializa, permitindo que você invoque alguns métodos de verificação de ambiente, por exemplo.

O “Session_Start” é acionado sempre que um novo usuário visita a aplicação, e o “Session_End” sempre que a sessão de um usuário encerra.  Estes métodos permitem uma interação mais próxima ao usuário como, por exemplo, criar um contador de usuários online no sistema em um dado momento. No exemplo prático deste artigo, vamos utilizar o “Application_Error”, que é acionado sempre que um erro não tratado é levantado no sistema. Permitindo também um uso imediato para qualquer aplicação web. No exemplo, vou mostrar como interagir com o global.asax através de classes personalizadas. O mesmo conceito poderá ser estendido para qualquer dos eventos da Tabela 1.

 

...
Quer ler esse conteúdo completo? Tenha acesso completo
Chega de perder tempo!
Comece hoje mesmo a programar de verdade
Apenas 12x de R$ 54,90
Por que a DevMedia?
  • Didática focada no iniciante
  • Aprenda construindo projetos reais
  • Domine as tecnologias mais usadas no mercado
  • Professores online o tempo todo
  • + de 8000 exercícios gamificados
  • + de 100 mil alunos formados
autor
Por Thomas Em 2009

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar

Método

Descrição

Application_Init

Evento invocado quando a aplicação inicializa, ou é acessada pela primeira vez. É invocada pela instância dos objeto HttpApplication.

Application_Disposed

Evento é invocado quando a aplicação é destruída. É normalmente utilizada para liberar recursos da memória.

Application_Error

Quando um erro não tratado ocorre, este evento é invocado.

Application_Start

Quando a primeira instância da HttpApplication é criada, este método é invocado, permitindo que objetos aqui criados sejam acessados por todas as instancias de HttpApplication.