Нет, но ваш HttpResponseBase
, вероятно, HttpResponseWrapper
, который содержит HttpResponse
внутри него.Все методы HttpResponse
доступны из HttpResponseBase
.
Если вы хотите получить доступ к HttpResponse
, вы можете добавить ссылку на него в HttpContext.Items
в вашем IHttpHandler
или где-то ранее в жизненном цикле ASP.NET.Для этого было бы полезно событие BeginRequest.
Ваш HttpContext.Items
ссылается на тот же словарь, на который ссылается HttpContextBase.Items
, поэтому у вас будет доступ ко всем этим элементам в MVC3
.уточнить,
Это HttpResponseWrapper
, но для HttpResponse
нет открытого доступа.Таким образом, нет прямой ссылки.Чтобы сделать непосредственно доступную ссылку до того, как среда решит начать предоставлять вам оболочку вместо базовой ссылки, создайте обработчик события для события HttpApplication.BeginRequest
.Ваш обработчик будет иметь ссылку на объект HttpContext
.Установите HttpContext.Items["HttpRequest"] = HttpContext.Request
.Тогда в вашем контроллере вы сможете получить доступ к справке HttpRequest
по RequestContext.HttpContext.Items["HttpRequest"]
.