Ciclo de vida de uma aplicação ASP.NET – Parte 2

      Olá pessoal, no primeiro artigo desta série, expliquei como é o tratamento do servidor WEB e como o ASP.NET se comporta quando recebe uma requisição no servidor. Hoje daremos seqüência ao ciclo devida de uma aplicação ASP.NET demonstrando a seqüência de operações que ocorrem no objeto HttpApplication quando o mesmo é instanciado.

Enquanto a requisição é processada, uma série de eventos são disparados. O conhecimento destes eventos é fundamental quando desejamos implementar nossa própria HttpApplication. Estes eventos são:

1.      ValidateRequest() – Responsável por validar a requisição, verificando se a mesma possui algum código malicioso.

2.      Realiza o mapeamento das URL caso as mesmas tenham sido configuradas na seção UrlMappingsSection do web.config.

3.      Dispara o evento BeginRequest()

4.      Dispara o evento AuthenticateRequest()

5.      Dispara o evento PostAuthenticateRequest()

6.      Dispara o evento AuthorizeRequest()

7.      Dispara o evento PostAuthorizeRequest()

8.      Dispara o evento ResolveRequestCache()

9.      Dispara o evento PostResolveRequestCache()

10.  Baseado na extensão do arquivo da requisição, é selecionada uma classe que implemente IHttpHandler para processar a requisição. Se a requisição é de um objeto que herde da classe Page e o mesmo precisa ser compilado, então o ASP.NET compila a página antes de criar uma instância da mesma.

11.  Dispara o evento PostMapRequestHandler()

12.  Dispara o evento AcquireRequestState()

13.  Dispara o evento PostAcquireRequestState()

14.  Dispara o evento PreRequestHandlerExecute()      

15.  Executa o método ProcessRequest de um objeto que implemente a interface IHttpHandler apropriado. Por exemplo, no caso de uma requisição de uma Page, a instância da página atual é quem dispara a requisição, ou seja, será executado o método ProcessRequest da mesma.  

16.  Dispara o evento PostRequestHandlerExecute()

17.  Dispara o evento ReleaseRequestState()

18.  Dispara o evento PostReleaseRequestState()

19.  Realiza filtro do response, caso a propriedade Filter tenha sido definida

20.  Dispara o evento UpdateRequestCache()

21.  Dispara o evento PostUpdateRequestCache()

22.  Dispara o evento EndRequest()

23.  Dispara o evento PreSendRequestHeaders()

24.  Dispara o evento PreSendRequestContent()

É isso aí pessoal, vou ficando por aqui.

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/