首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将HttpRequest转换为HttpRequestBase对象?

如何将HttpRequest转换为HttpRequestBase对象?
EN

Stack Overflow用户
提问于 2013-03-07 23:40:49
回答 3查看 27.5K关注 0票数 78

我的问题正好相反:How do I convert an HttpRequestBase into an HttpRequest object?

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

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

有人知道这个类是什么关系吗?我该如何解决我的问题?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-07 23:45:35

您会希望将HttpRequest包装在HttpRequestWrapper

代码语言:javascript
复制
var wrapper = new HttpRequestWrapper(httpRequest);

HttpRequestWrapper继承自HttpRequestBase

票数 132
EN

Stack Overflow用户

发布于 2016-11-10 21:24:39

这是另一种不需要创建新实例的解决方案:

代码语言:javascript
复制
var httpRequestBase = myHttpRequest.RequestContext.HttpContext.Request;
票数 26
EN

Stack Overflow用户

发布于 2018-11-01 19:44:52

我发现以下扩展方法很有用:

代码语言:javascript
复制
    public static HttpContextBase AsBase(this HttpContext context)
    {
        return new HttpContextWrapper(context);
    }

    public static HttpRequestBase AsBase(this HttpRequest context)
    {
        return new HttpRequestWrapper(context);
    }

用法:

代码语言:javascript
复制
HttpContext.Current.AsBase()
HttpContext.Current.Request.AsBase()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15275370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档