почему действие контроллеров имеет HttpRequestBase, и viewpage имеет HttpRequest?

Мои методы берут HttpRequestBase в качестве arguements, и я нахожу это странным относительно того, почему Действия в Контроллерах имеют доступ к HttpRequestBase, но страница представления имеет HttpRequest.

Существует ли причина этого или просто чего-то, что не было продумано?

8
задан Blankman 1 February 2010 в 21:01
поделиться

2 ответа

Страницы представления имеют доступ к MVC HttpContext через ViewContext.HttpContext, который является HttpContextBase.

Кажущийся двойной доступ обусловлен тем, как работает ASP.Net. Если вы посмотрите на Request.HttpContext, это инъекция исходного HttpContext в конвейере ASP.Net. Он доступен в любом HttpHandler, будь то контроллер MVC или представление, или страница WebForms или ashx.

5
ответ дан 5 December 2019 в 21:19
поделиться

ViewPage наследуется от System.Web.UI.Page и я уверен, что все члены HttpRequest наследуются от него:

http://msdn.microsoft.com/en-us/library/dd504962.aspx

2
ответ дан 5 December 2019 в 21:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: