如何在 Web API 控制器中触发 OnActionExecution

本文关键字:OnActionExecution 控制器 API Web | 更新日期: 2023-09-27 18:32:13

我的 api 端点正在使用 asp.net mvc (4) Web API 控制器。

是否有任何类似于 mvc 具有 OnActionExeting 的事件?

另外,如果请求具有授权令牌,如何访问要查找的请求对象?

如何在 Web API 控制器中触发 OnActionExecution

由于 Niko 发布的过滤器对我不起作用(我使用的是 ApiController 类),我实现了这个过滤器:

public class MyActionFilter : System.Web.Http.Filters.ActionFilterAttribute 
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        // pre processing
    }
}

确保不使用"System.Web.Mvc.ActionFilterAttribute"中的 ActionFilter。

使用操作筛选器。

public class MyActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
         //use filterContext.HttpContext.Request...
    }
}

对于控制器操作,请应用属性

[MyActionFilter]
public Action MyAction(...)
{
    //...
}

正如Satpal在他的评论中提到的,您可能实际上希望使用AuthorizeAttribute来授权访问您的操作。

相关文章:
  • 没有找到相关文章