Asp.Net 一个请求的处理流程
2015-08-22 12:39
555 查看
1、浏览器请求
请求-准备环境-->处理请求
![](http://images0.cnblogs.com/blog2015/199777/201508/221203309722347.jpg)
2、Aspnet 环境的创建
客户请求
IIS区分静态文件还是动态文件,静态文件直接文件返回,动态文件通过aspnet_isapi.dll进行处理
第一次访问创建AppDomain 和宿主环境(详细可以查看AspNet MVC中各种上下文理解)
封装请求成HttpContext(同时实例化HttpRequest和HttpResponse
若第一次访问则从global进行实例化HttpApplication(这里就会调用熟悉的Application_Start事件),得到HttpApplication进行初始化,并且完成19个管道事件的注册
![](http://images0.cnblogs.com/blog2015/199777/201508/221203539724307.jpg)
3、19个管道事件
![](http://images0.cnblogs.com/blog2015/199777/201508/221204208002968.jpg)
4、AspNet Mvc 针对请求的处理
AspNet Mvc通过截取PostResolveRequestCache(第七个)事件,并将请求通过UrlRoutingModule进行处理请求。通过MvcHandler进行处理请求,并最终响应请求
![](http://images0.cnblogs.com/blog2015/199777/201508/221204540667665.png)
5、AspNet WebForm针对请求处理
在请求管道第八个事件PostMapRequestHandler进行请求WebForm事件,事件主流程包含(Silver--Start,Init、Load、Validation、Event、Render事件)
![](http://images0.cnblogs.com/blog2015/199777/201508/221205283167062.jpg)
本文主要图片来源从参考博文中,直接使用。如果觉得不错请点赞下,有误的话请指出,卤鸽在此感谢
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/130006116046777.jpg)
参考: http://www.cnblogs.com/edisonchou/p/3958305.html http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle
请求-准备环境-->处理请求
![](http://images0.cnblogs.com/blog2015/199777/201508/221203309722347.jpg)
2、Aspnet 环境的创建
客户请求
IIS区分静态文件还是动态文件,静态文件直接文件返回,动态文件通过aspnet_isapi.dll进行处理
第一次访问创建AppDomain 和宿主环境(详细可以查看AspNet MVC中各种上下文理解)
封装请求成HttpContext(同时实例化HttpRequest和HttpResponse
若第一次访问则从global进行实例化HttpApplication(这里就会调用熟悉的Application_Start事件),得到HttpApplication进行初始化,并且完成19个管道事件的注册
![](http://images0.cnblogs.com/blog2015/199777/201508/221203539724307.jpg)
3、19个管道事件
![](http://images0.cnblogs.com/blog2015/199777/201508/221204208002968.jpg)
4、AspNet Mvc 针对请求的处理
AspNet Mvc通过截取PostResolveRequestCache(第七个)事件,并将请求通过UrlRoutingModule进行处理请求。通过MvcHandler进行处理请求,并最终响应请求
![](http://images0.cnblogs.com/blog2015/199777/201508/221204540667665.png)
5、AspNet WebForm针对请求处理
在请求管道第八个事件PostMapRequestHandler进行请求WebForm事件,事件主流程包含(Silver--Start,Init、Load、Validation、Event、Render事件)
![](http://images0.cnblogs.com/blog2015/199777/201508/221205283167062.jpg)
本文主要图片来源从参考博文中,直接使用。如果觉得不错请点赞下,有误的话请指出,卤鸽在此感谢
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/130006116046777.jpg)
参考: http://www.cnblogs.com/edisonchou/p/3958305.html http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle
相关文章推荐
- 毕业设计 ASP.Net+EasyUI开发 X X露天矿调度管理信息系统(一)
- ASP.NET mvc中session
- ASP.NET——生成验证码
- ASP.NET 动态创建文本框 TextBox (add TextBox to page dynamically)
- asp.net过滤数据中有异常数据字符串
- 理解SVG的viewport,viewBox,preserveAspectRatio
- 【.Net码农】[asp.net]自定义控件(支持模板)2
- ApsCMS AspCms_SettingFun.asp、AspCms-qqkfFun.asp、AspCms_Slide.asp、AspCms_StyleFun.asp、login.asp、AspCms_CommonFun.asp Vul
- ASP.NET文件上传大小II限制修改
- 【.Net码农】ASP.NET数据控件的自定义模板
- Jasper Report(3)--- 用JavaBean Collection做为数据源
- asp.net ajax
- Jasper Report (2)--- 用JDBC做为数据源
- Asp.net mvc项目分页功能
- Jasper Report (1)--- Eclipse集成Ireport插件
- asp.net图片分布式存储
- CasperJS,基于PhantomJS的工具包
- ASP入门(十九)- SELECT 语句
- ASP入门(十八)-访问Access中的数据库
- IIS网站或系统验证码不显示问题——"使用了托管的处理程序,但是未安装或未完整安装 ASP.NET"