我的问题正好相反:How do I convert an HttpRequestBase into an HttpRequest object?
在我的ASP.NET MVC应用程序中,我有一个方法被许多控制器使用,这些控制器接收HttpRequestBase作为参数。
现在我必须从另一个方法调用该方法,这不是一个操作(它是一个nhibernate拦截器)。在第二种方法中,我可以访问HttpContext.Current.Request,这是一个HttpRequest,但我不能将其转换为HttpRequestBase (由于命名,我认为它是可能的…)。
有人知道这个类是什么关系吗?我该如何解决我的问题?谢谢。
发布于 2013-03-07 23:45:35
您会希望将HttpRequest
包装在HttpRequestWrapper
中
var wrapper = new HttpRequestWrapper(httpRequest);
HttpRequestWrapper
继承自HttpRequestBase
。
发布于 2016-11-10 21:24:39
这是另一种不需要创建新实例的解决方案:
var httpRequestBase = myHttpRequest.RequestContext.HttpContext.Request;
发布于 2018-11-01 19:44:52
我发现以下扩展方法很有用:
public static HttpContextBase AsBase(this HttpContext context)
{
return new HttpContextWrapper(context);
}
public static HttpRequestBase AsBase(this HttpRequest context)
{
return new HttpRequestWrapper(context);
}
用法:
HttpContext.Current.AsBase()
HttpContext.Current.Request.AsBase()
https://stackoverflow.com/questions/15275370
复制相似问题