所以在 ASP.NET MVC中,你经常看到你的对象具有相关*Context对象的模式,如Request/RequestContext View/ViewContext和Controller/ControllerContext。
我确实知道如何在 ASP.NET MVC 管道中工作,但我从未真正了解这些上下文类的总体模式。*上下文类表示什么?有人可以对此进行更多说明吗?
谢谢
类(如ViewContext
和ControllerContext
(在请求生命周期中维护此单个模块的状态。此上下文对象是基于 State Pattern
实现的,定义为:
"允许对象在其内部状态更改时更改其行为。该对象似乎会更改其类。
MVC 模式中的控制器关注应用程序的流。
控制器类继承ControllerBase
类,而类又实现IController
接口的方法。
主计长接口:
IController
接口公开Execute()
方法,该方法在向控制器发出请求时执行。它接受类RequestContext
的对象,该类使用 HttpContext 和 RouteData 属性封装有关与定义的路由匹配的HTTP request
的信息
控制器基类:
抽象的 ControllerBase 类表示所有 MVC 控制器的基类。
类充当wrapper on top of the IController interface
。ControllerBase 类的 Execute(( 方法负责创建 ControllerContext,它为当前请求提供 MVC 特定的上下文,就像instance of HttpContext
提供 ASP.NET 上下文一样,提供请求和响应、URL 和服务器信息以及其他元素。