【asp源码栏目提醒】:以下是网学会员为您推荐的asp源码-[ASP NET MVC2 系列] 理解MVC应用程序的执行过程 - 讲义教程,希望本篇文章对您学习有所帮助。
ASP.NET MVC2 系列 理解MVC应用程序的执行过程
ASP.NET MVC2 系列
ASP.NET MVC2 系列
ASP.Net MVC教程之《在15分钟内用
ASP.Net MVC创建一个电影数据库应用程序》
ASP.NET MVC2 系列
ASP.Net MVC教程之《
ASP.NET MVC 概述》
ASP.NET MVC2 系列 理解MVC应用程序的执行过程
ASP.NET MVC2 系列
ASP.NET MVC Routing概述
ASP.NET MVC2 系列
ASP.NET MVC 之如何创建自定义路由约束
ASP.NET MVC2 系列 Action要求与View本质
ASP.NET MVC2 系列 Action Filters以及自定义OutputCache ActionFilterAttribute事件发生次序 理解MVC应用程序执行过程 基于
ASP.NET MVC Web应用程序的请求首先通过一个UrlRoutingModule的对象HTTP模块。
这个模块匹配请求并且执行路由选择。
这个UrlRoutingModule对象选择第一个匹配当前请求的路由对象。
如果没有路径匹配这个UrlRoutingModule什么也不做让这个请求返回给常规的
ASP.NET或者IIS来请求处理。
从这个被选中的Route对象UrlRoutingModule对象获得IRouteHandler对象IRouteHandler对象与Route对象是相互关联的。
一般来说在一个MVC应用程序中它将是MvcRouteHandler实例。
这个IRouteHandler实例创建一个IHttpHandler对象并且将它传递给IHttpContext对象。
默认情况下MVC IHttpHandler实例就是MvcHandler对象。
然后这个MvcHandler对象选择controllercontroller将最终提交这个请求。
这个module 和 handler是
ASP.NET MVC框架的入口点。
它们执行下列行为: 选择合适的controller。
获得一个具体controller实例。
调用controller的执行方法。
下表列出了一个MVC Web项目的执行的各阶段。
阶段 详细 接收应用程序的第一次请求 在Global.asax文件中 Route对象 被添加到RouteTable对象. 执行路由选择 UrlRoutingModule 模块使用第一个在RouteTable 集合中匹配的Route 对象来创建RouteData对象 然后它将使用这个RouteData对象来创建RequestContext IHttpContext对象. 创建MVC request handler MvcRouteHandler 创建MvcHandler类的一个实例并且将它传递给RequestContext实例. 创建controller MvcHandler对象使用RequestContext实例来确认IControllerFactory 对象DefaultControllerFactory类的一个实例 以用来创建conteoller实例。
执行controller MvcHandler 实例调用controller的执行method. 调用action 大部分controllers 继承自Controller基础类. 与controller相关联的ControllerActionInvoker 对象决定这个controller类的哪个方法将被调用 然后再调用那个方法. 执行result 一个典型的action 方法可能接收用户输入准备合适的响应数据 然后通过返回一个result的类型来执行这个result. 这个内置的能够执行的result 类型 包含以下类型: ViewResult 它呈现一个视图并且是最常用的result类型 RedirectToRouteResult RedirectResult ContentResult JsonResult以及EmptyResult.