我们将整个ASP.NET MVC框架划分为若干个子系统,那么针对请求上下文激活目标Controller对象的子系统被我们成为Controller激活系统。在正式讨论Controller对象具体是如何被创建爱之前,我们先来看看Controller激活系统在ASP.NET MVC中的总体设计,了解一下组成该子系统的一些基本的组件,以及它们对应的接口或者抽象类是什么。

目录
一、Controller
二、 ControllerFactory
三、ControllerBuilder
    实例演示:如何提升命名空间的优先级
    针对Area的路由对象的命名空间
四、 Controller的激活与URL路由

一、Controller

我们知道作为Controller的类型直接或者间接实现了IController接口。如下面的代码片断所示,IController接口仅仅包含一个参数类型为RequestContext的Execute方法。当一个Controller对象被激活之后,核心的操作就是根据请求上下文解析出目标Action方法,并通过Model绑定机制从请求上下文中提取相应的数据映射为方法的参数并最终执行Action方法。所有的这些操作都是调用这个Execute方法来执行的。

interface IController
   2: {
void Execute(RequestContext requestContext);
   4: }

相关文章: