理解MVC应用程序的执行过程
来源:互联网 发布:linux开放tcp端口 编辑:程序博客网 时间:2024/05/16 12:38
对基于ASP.NET MVC应用程序的请求首先被传递给UrlRoutingModule处理,UrlRoutingModule实现了IHttpModule接口。该模块对请求进行解析然后进行路由选择。UrlRoutingModule对象从路由表中选择第一个匹配该请求的路由供后继处理使用。如果没有跟请求匹配的路由那么UrlRoutingModule将把请求返回给常规的ASP.NET或者IIS请求处理。从选中的Route对象那里UrlRoutingModule获得跟Route对象相关联的实现了IRouteHandler接口的对象。在MVC应用程序当中,典型的这应该是一个MvcRouteHandler类的实例。MvcRouteHandler类的实例创建一个实现了IHttpHandler接口的MvcHandler对象。然后MvcHandler对象选择最终处理请求的控制器。UrlRouteModule和UrlRouteHandler这两个类是ASP.NET MVC框架的入口点。他们扮演了以下几个功能:
1.选择恰当的控制器
2.获得具体控制器实例
3.调用控制器的Execute方法
下表列出了MVC网站项目的执行阶段
阶段 详细说明
接收到应用程序的第一个特请求 在Global.asax文件中,一系列Route对象被添加到RouteTable中
执行路由 UrlRouteModule模块对象选择第一个匹配的路由创建一个RouteData对象,他将被用来创建RequestContext对象
创建MVC请求的处理程序 MvcRouteHandler创建一个MvcHandler实例并把RequestContext实例传递给他
创建控制器 MvcHandler实例通过RequestContext实例找到创建控制器实例的IControllerFactory对象
执行控制器 MvcHandler实例调用控制器的Execute方法
触发功能 对与继承与ControllerBase的那些控制器,跟控制器相关联的ControllerActionInvoker决定了应该调用控制器的哪个功能方法,然后调用那个方法
执行结果 功能方法收到来自用户的输入,准备好恰当的相应数据,然后执行结果返回结果类型。内建 的执行结果类型包括以下几种:ViewResult,RedirectToRouteResult,RedirecteResult,ContentResult,JsonResult,FileResult,EmptyResult
- 理解MVC应用程序的执行过程
- 理解MVC应用程序执行过程
- 了解 MVC 应用程序执行过程
- ASP.NET MVC应用程序执行过程分析
- MVC进阶——MVC应用程序的执行过程(四)
- 理解ASP.NET MVC执行过程
- (转)理解ASP.NET MVC执行过程
- 应用程序在Linux上的执行过程
- linux 应用程序的执行过程详解
- Spring Mvc 一个请求的执行过程
- Spring MVC +Web 的执行过程
- Spring mvc 执行过程
- MVC执行过程
- Spring Mvc执行过程
- ASP.NET MVC 教程 - 理解MVC应用程执行过程(C#)
- 理解JS脚本执行的过程
- 理解.NET程序集的执行过程
- tomcat执行过程的简单理解
- 手工修改PVID
- Felx上传功能实现
- 冒泡排序
- 如何在wince6.0 模拟器上跑以前编译好的EVC MFC程序
- C#的多线程
- 理解MVC应用程序的执行过程
- Struts,Spring,Hibernate三大框架的面试&笔试题
- Linux内核中task_struct的中文介绍(2.4内核的)
- 人在旅途
- Google赛马--chicy
- OpenSSL 编译 ./crypto/cversion.c(105) : error C2220: warning treated as error - no 'object' file generated
- google赛马--andy
- sQL2005 mainplan异常。
- 深入理解敏捷开发的常见九大误区