Asp.Net 一个请求的处理流程
1、浏览器请求
- 请求-准备环境-->处理请求
2、Aspnet 环境的创建
- 客户请求
- IIS区分静态文件还是动态文件,静态文件直接文件返回,动态文件通过aspnet_isapi.dll进行处理
- 第一次访问创建AppDomain 和宿主环境(详细可以查看AspNet MVC中各种上下文理解)
- 封装请求成HttpContext(同时实例化HttpRequest和HttpResponse
- 若第一次访问则从global进行实例化HttpApplication(这里就会调用熟悉的Application_Start事件),得到HttpApplication进行初始化,并且完成19个管道事件的注册
3、19个管道事件
4、AspNet Mvc 针对请求的处理
- AspNet Mvc通过截取PostResolveRequestCache(第七个)事件,并将请求通过UrlRoutingModule进行处理请求。通过MvcHandler进行处理请求,并最终响应请求
5、AspNet WebForm针对请求处理
- 在请求管道第八个事件PostMapRequestHandler进行请求WebForm事件,事件主流程包含(Silver--Start,Init、Load、Validation、Event、Render事件)
本文主要图片来源从参考博文中,直接使用。如果觉得不错请点赞下,有误的话请指出,卤鸽在此感谢
参考:http://www.cnblogs.com/edisonchou/p/3958305.htmlhttp://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle