2013-09-30 49 views
3

所以在ASP.NET MVC,你常看到你有一个有关*上下文对象的对象模式,类似请求/ RequestContext的查看/ ViewContext和控制器/ ControllerContext。ASP.NET MVC - 什么是*背景模式象征什么?

我知道如何在ASP.NET MVC管道内工作,但我从来没有真正了解这些上下文类的总体格局。 * Context类表示什么?有人能摆脱多一点光对这个?

谢谢,

回答

1

语境类,例如ViewContextControllerContext请求生命周期中保持该单个模块的状态。此上下文中的对象是基于State Pattern实现,定义为:

“允许一个目的是改变它的行为,当它的内部状态的改变对象将会出现改变它的类。”。在MVC模式

0
控制器

所关心的应用程序的流程。

控制器类继承ControllerBase类,这又实现IController接口的方法。

一个IController接口:

IController接口公开Execute()方法中,当请求被用于控制器作出被执行。它接受RequestContext类的一个对象,它封装了一个HTTP request匹配所定义的路径信息,使用的HttpContext和的RouteData属性

ControllerBase类:

抽象ControllerBase类表示所有MVC的基类控制器。

的ControllerBase类充当wrapper on top of the IController interface。 ControllerBase类的Execute()方法是负责创建ControllerContext,其提供当前请求多,在相同的方式,一个instance of HttpContext提供ASP.NET的上下文中,提供请求和响应,URL和MVC特定上下文服务器信息等等。