Ciclo de vida de uma página ASPX - Parte 1
Olá pessoal, quando comecei a desenvolver aplicações em ASP.NET, um dos primeiros pontos que precisei compreender foi o ciclo de vida de uma aplicação ASP.NET. Isso é fundamental para desenvolvermos aplicações WEB com ASP.NET. Neste artigo, explicarei sucintamente qual o ciclo de vida de uma aplicação ASP.NET, demonstrando a seqüência de eventos que são disparados pela mesma quando realizamos uma requisição ao servidor.
Tudo começa quando realizamos uma requisição do browser para o servidor web. O servidor então recebe esta requisição, verifica a extensão do arquivo e com isso determina como será processada essa requisição, redirecionando a mesma para a extensão ISAPI correpondente, no nosso caso ASP.NET.
Quando o ASP.NET recebe a primeira requisição da aplicação, uma classe chamada ApplicationManager cria uma instância de application domain. Application domain representa o domínio da aplicação, o que permite que cada aplicação seja descarregada separadamente.
Depois que o application domain é criado, ele instancia um objeto chamado HostingEnvironment e então o ASP.NET cria e inicializa os objetos principais da aplicação, que são:
HttpContext: Esta classe contém os objetos que são específicos da requisição atual da aplicação como HttpRequest e HttpResponse.
HttpRequest: Esta classe contém informações sobre a requisição atual, incuindo cookies e informações do browser.
HttpResponse: Esta classe contém informações sobre a resposta que está sendo enviada para o client, incluindo toda a renderização da página e cookies.
O diagrama acima demonstra muito bem o que foi dito anteriormente. A requisição é feita, o servidor WEB redireciona a mesma para a extensão ASP.NET que por sua vez cria uma application domain e o HostingEnviroment(HttpRuntime). Dentro do HttpRuntime é criado um HttpContext para cada requisição realizada e o HttpContext é composto por um HttpRequest e um HttpResponse.
Depois que todos estes objetos são criados e inicializados, a aplicação é então de fato iniciada com a criação do objeto HttpApplication. Se a aplicação possuir um arquivo “Global.asax”, o ASP.NET usará o mesmo, que é uma derivação de HttpApplication, para representar a aplicação.
Quando uma instância de HTTPApplication é criada, alguns módulos também são criados, como por exemplo o SessionStateModule. Após a criação de todos estes módulos, o método Init é executado.
No próximo artigo daremos seqüência ao ciclo de vida da páinga ASP.NET.
É isso aí pessoal, vou ficando por aqui com mais esta dica.
Espero que tenham gostado e que tenha sido útil.
Fiquem a vontade para dar feedback, críticas e sugestões de novos temas para os próximos artigos.
Um abraço.
Ricardo Coelho.
http://www.agilexp.blogspot.com/