所以在ASP.NET MVC,你常看到你有一个有关*上下文对象的对象模式,类似请求/ RequestContext的查看/ ViewContext和控制器/ ControllerContext。ASP.NET MVC - 什么是*背景模式象征什么?
我知道如何在ASP.NET MVC管道内工作,但我从来没有真正了解这些上下文类的总体格局。 * Context类表示什么?有人能摆脱多一点光对这个?
谢谢,
所以在ASP.NET MVC,你常看到你有一个有关*上下文对象的对象模式,类似请求/ RequestContext的查看/ ViewContext和控制器/ ControllerContext。ASP.NET MVC - 什么是*背景模式象征什么?
我知道如何在ASP.NET MVC管道内工作,但我从来没有真正了解这些上下文类的总体格局。 * Context类表示什么?有人能摆脱多一点光对这个?
谢谢,
语境类,例如ViewContext
和ControllerContext
请求生命周期中保持该单个模块的状态。此上下文中的对象是基于State Pattern
实现,定义为:
“允许一个目的是改变它的行为,当它的内部状态的改变对象将会出现改变它的类。”。在MVC模式
所关心的应用程序的流程。
控制器类继承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特定上下文服务器信息等等。