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/