Как мне преобразовать в объект класса HttpRequest HttpRequestBase?


моя проблема противоположна этой: Как преобразовать HttpRequestBase в объект HttpRequest?

в моем ASP.NET приложение MVC у меня есть метод, используемый многими контроллерами, которые получают HttpRequestBase в качестве аргумента.

теперь я должен вызвать этот метод из другого метода, который не является действием (это перехватчик nhibernate). В этом втором методе я мог бы получить доступ к HttpContext.Текущий.Запрос, то есть HttpRequest и я не могу привести его к HttpRequestBase (Я думал, что это возможно из-за именования ...).

кто-нибудь знает, в каких отношениях находятся эти классы и как я могу решить мою проблему? Спасибо.

2 63

2 ответа:

вы хотите, чтобы обернуть ваш HttpRequest на HttpRequestWrapper:

var wrapper = new HttpRequestWrapper(httpRequest);

The HttpRequestWrapper наследует от HttpRequestBase.

альтернативное решение, которое не требует создания нового экземпляра:

var httpRequestBase = httpRequest.RequestContext.HttpContext.Request;

Я проверил это в MVC 5.