如何在Web API中实现自定义筛选器

时间:2017-06-01 14:23:10

标签: asp.net-mvc asp.net-web-api

我发现有很多链接供参考。但不幸的是,他们没有为我工作。所以我在这里发帖问题是我的控件没有点击“OnActionExecuting”。这是我第一次使用WebAPI,我想我在某处遗漏了某些东西。请帮助!!

我的API过滤器如下所示:

public class ValidateCustomAntiForgeryTokenAttribute : System.Web.Http.Filters.ActionFilterAttribute
{        

    public new void OnActionExecuted(HttpActionExecutedContext filterContext)
    {            
        //removed for Breviety
    }
    public void OnActionExecuting(HttpActionExecutedContext request)
    {
        //removed for Breviety
    }

}

我在Startup.cs上注册了我的过滤器:

public class StartUp : System.Web.HttpApplication
{        
    public void Configuration(IAppBuilder app)
    {

        HttpConfiguration config = new HttpConfiguration();
        //removed for Breveity
        config.Filters.Add(new ValidateCustomAntiForgeryTokenAttribute());
    }
}

在我的一个控制器上使用它:

[CustomAuthorize]
[ValidateCustomAntiForgeryToken]
public class QuestionController : ApiController
{
}

1 个答案:

答案 0 :(得分:0)

public void OnActionExecuting(HttpActionContext request)
{
    //removed for Breviety
}

OnActionExecuting 需要参数 HttpActionContext