Artigo .net Magazine 59 - Por dentro do Global.asax

Artigo da Revista .NET Magazine - Edição 59.

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

 

Clique aqui para ler esse artigo em PDF.

 

Easy.Net - Web

Por dentro do Global.asax

Tratando um website como uma aplicação

 

Neste artigo veremos

·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.

 

"

Método

Descrição

Application_Init

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados