MVC进阶——MVC应用程序的执行过程(四)
来源:互联网 发布:手机淘宝怎样买火车票 编辑:程序博客网 时间:2024/06/05 12:07
MVC 应用程序执行过程
发送给基于 ASP.NET MVC 的 Web 应用程序的请求首先通过 UrlRoutingModule 对象(一个 HTTP 模块)进行传递。此模块将分析请求并执行路由选择。UrlRoutingModule 对象将选择与当前请求匹配的第一个路由对象。(路由对象是实现 RouteBase 的类,并且通常是 Route 类的实例。)如果任何路由都不匹配,则 UrlRoutingModule 对象不执行任何操作,并允许请求回退到常规的 ASP.NET 或 IIS 请求处理流程。
UrlRoutingModule 和 MvcRouteHandler 类是 ASP.NET MVC 框架的入口点。 它们执行下列操作:
选择 MVC Web 应用程序中合适的控制器。
获取特定的控制器实例。
调用该控制器的 Execute 方法。
下表列出了 MVC Web 项目的执行阶段。
1
接收对应用程序的第一个请求
在 Global.asax 文件中,Route 对象将添加到 RouteTable 对象中。
2
执行路由
UrlRoutingModule 模块使用 RouteTable 集合中第一个匹配的 Route 对象来创建 RouteData 对象,然后使用所创建的对象创建 RequestContext 对象。
3
创建 MVC 请求处理程序
MvcRouteHandler 对象将创建 MvcHandler 类的实例,并将 RequestContext 实例传递给处理程序。
4
创建控制器
MvcHandler 对象使用 RequestContext 实例标识用于创建控制器实例的 IControllerFactory 对象(通常是 DefaultControllerFactory 类的实例)。
5
执行控制器
MvcHandler 实例调用控制器的 Execute 方法。
6
调用操作
对于从 ControllerBase 类继承的控制器,与该控制器关联的 ControllerActionInvoker 对象将决定要调用的 controller 类的操作方法,然后调用该方法。
7
执行结果
操作方法将接收用户输入,准备合适的响应数据,然后通过返回结果类型来执行结果。 可执行的内置结果类型包括:ViewResult(呈现视图并且是最常用的结果类型)、RedirectToRouteResult、RedirectResult、ContentResult、JsonResult、FileResult 和 EmptyResult。
- MVC进阶——MVC应用程序的执行过程(四)
- 理解MVC应用程序的执行过程
- 理解MVC应用程序执行过程
- 了解 MVC 应用程序执行过程
- MVC进阶篇(四)——[HttpGet]和[HttpPost]
- ASP.NET MVC应用程序执行过程分析
- MVC3.0进阶——MVC框架和应用程序结构(三)
- Spring mvc 执行过程
- MVC执行过程
- Spring Mvc执行过程
- Spring Mvc 一个请求的执行过程
- Spring MVC +Web 的执行过程
- Spring MVC framework 执行过程
- Spring MVC framework 执行过程
- MVC进阶篇(一)——概览
- MVC进阶篇(二)—路由机制
- 分享ASP.NET视频系列教程——第二十一讲 ASP.NET MVC应用程序的开发的过程
- qt中MVC的model的执行过程分析
- 浅谈web标准、可用性、可访问性
- MVC3.0进阶——搭建开发环境(一)
- MVC3.0进阶——概述(二)
- MVC3.0进阶——MVC框架和应用程序结构(三)
- Jdeveloper 如何连接 SQLite
- MVC进阶——MVC应用程序的执行过程(四)
- UESTC1560 Division(四川2011年省赛 D,计算几何)
- ZOJ2482 POJ2105 IP Address
- MVC3.0进阶——控制器和操作方法(五)
- Java平台中异常处理的优劣之处
- MVC3.0进阶——路由(六)
- 句柄与指针的联系与区别
- 字符设备驱动程序
- scope 与 linkage(C++学习)