ASP.NET MVC 简介

1、 ASP.NET MVC 是什么?

ASP.NET MVC是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序(Web Application)框架,它由Castle的MonoRail而来,日前最新版本是ASP.NET MVC 4.0。是将一个Web应用分解为:Model、View和Controller。ASP.NET MVC框架提供了一个可以代替ASP.NET WebForm的基于MVC设计模式的应用。

MVC的优点:

(1)、通过把项目分成Model、View和Controller,使得复杂项目更加容易维护,减少项目之间的耦合;

(2)、没有使用ViewState和服务器表单控件,可以更方便的控制应用程序的行为;

(3)、应用程序通过Controller来控制程序请求,并提供了原生的UrlRouting功能来重写Url;

(4)、使Web程序对单元测试的支持更加出色;

(5)、在团队开发模式下表现更出众。

 

2、MVC 包含的关键技术:

ActionResult:Action 的返回类型

Filter:过滤器

ModelBinder:Model绑定器

Url Routing:Url路由规则

 

3、MVC Web 项目的执行阶段:

阶段

详细信息

接收对应用程序的第一个请求

在 Global.asax 文件中,Route 对象将添加到 RouteTable 对象中。

执行路由

UrlRoutingModule 模块使用 RouteTable 集合中第一个匹配的 Route 对象来创建 RouteData 对象,然后使用所创建的对象创建 RequestContext 对象

创建 MVC 请求处理程序

MvcRouteHandler 对象将创建 MvcHandler 类的实例,并将 RequestContext 实例传递给处理程序

创建控制器

MvcHandler 对象使用 RequestContext 实例标识用于创建控制器实例的   IControllerFactory 对象(通常是 DefaultControllerFactory 类的实例)

执行控制器

MvcHandler 实例调用控制器的 Execute 方法

调用操作

对于从 ControllerBase 类继承的控制器,与该控制器关联的 ControllerActionInvoker 对象将决定要调用的   controller 类的操作方法,然后调用该方法

执行结果

操作方法将接收用户输入,准备合适的响应数 据,然后通过返回结果类型来执行结果。可执行的内置结果类型包括:ViewResult(呈现视图并且是最常用的结果类型)、 RedirectToRouteResult、RedirectResult、ContentResult、JsonResult、FileResult 和 EmptyResult

 

简单的描述一下:

步骤1:创建RouteTable

当ASP.NET应用程序第一次启动的时候才会发生第一步。RouteTable把URL映射到Handler。

步骤2:UrlRoutingModule拦截请求

第二步在我们发起请求的时候发生。UrlRoutingModule拦截了每一个请求并且创建和执行合适的Handler。

步骤3:执行MvcHandler

MvcHandler创建了控制器,并且把控制器传入ControllerContext,然后执行控制器。

步骤4:执行控制器

控制器检测要执行的控制器方法,构建参数列表并且执行方法。

步骤5:调用RenderView方法

大多数情况下,控制器方法调用RenderView()来把内容呈现回浏览器。Controller.RenderView()方法把这个工作委托给某个ViewEngine来做。

 

posted @ 2015-04-29 23:36  月夜清风  阅读(1384)  评论(0编辑  收藏  举报