访问Request Object时,在ActionFilter中获取编译异常

时间:2010-08-20 13:42:53

标签: c# asp.net-mvc-2

我有一点代码:

using System;
using System.Web.Mvc;

public class SecureFilter : RequireHttpsAttribute
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        if (null == filterContext)
        {
            throw new ArgumentNullException("filterContext");
        }

        if (null != filterContext.HttpContext && filterContext.HttpContext.Request.IsLocal)
        {
            return;
        }

        base.OnAuthorization(filterContext);
    }
}

我在哪里尝试确定请求是否是本地请求是我获得编译时异常的地方。它给了我这个错误:

  

'System.Web.HttpContextBase'不包含'Request'的定义,并且没有扩展方法'Request'接受类型'System.Web.HttpContextBase'的第一个参数'(你是否缺少using指令或汇编参考?)

根据我的理解,Request对象实际上属于控制器,但是如果我无法访问该对象,我不太确定如何创建此动作过滤器。

非常感谢任何指导!

2 个答案:

答案 0 :(得分:1)

@Josh,我想说这只是因为System.Web.Abstractions程序集引用。可能是你无意中删除了引用。

答案 1 :(得分:0)

这似乎与项目有点古怪。我按照尼克里格斯的建议,尝试了一个测试解决方案,它工作正常。所以我从当前的解决方案中删除了该项目并创建了一个新项目,并将文件复制到其中。这让它发挥作用。

相关问题