如何将HttpRequest转换为HttpRequestBase对象?

Dan*_*sco 74 asp.net-mvc httprequest

我的问题与此相反: 如何将HttpRequestBase转换为HttpRequest对象?

在我的ASP.NET MVC应用程序中,我有一个接收HttpRequestBase作为参数的许多控制器使用的方法.

现在我必须从另一个方法调用该方法,这不是一个动作(它是一个nhibernate拦截器).在第二种方法中,我可以访问HttpContext.Current.Request,这是一个HttpRequest,我无法将其强制转换为HttpRequestBase(我认为由于命名而有可能......).

有人知道这个课程的关系是什么,我如何解决我的问题?谢谢.

Jam*_*xon 121

你想要包装你HttpRequestHttpRequestWrapper:

var wrapper = new HttpRequestWrapper(httpRequest);
Run Code Online (Sandbox Code Playgroud)

HttpRequestWrapper继承HttpRequestBase.

  • 可能有用`new HttpRequestWrapper(HttpContext.Current.Request)` (9认同)

S.S*_*han 17

替代解决方案,不需要创建新实例:

var httpRequestBase = httpRequest.RequestContext.HttpContext.Request;
Run Code Online (Sandbox Code Playgroud)

我在MVC 5中对此进行了测试.