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/