WebAPI笔记:操作过滤器特性ActionFilterAttribute

测试代码链接

操作过滤器特性ActionFilterAttribute:可以在action执行前/后分别增加非业务逻辑
在WebApiConfig.cs Register方法中对全部webapi全部注册:config.Filters.Add(new CustomActionAttribute());
在控制器名上添加特性[CustomActionAttribute]实现该控制器下的所有方法注册。也可以单独对某api方法上添加特性[CustomActionAttribute]注册


public class CustomActionAttribute : ActionFilterAttribute
{
    /// <summary>
    /// 方法执行前
    /// </summary>
    /// <param name="actionContext"></param>
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        Console.WriteLine("OnActionExecuting" + actionContext.Request.RequestUri.AbsoluteUri);
        //可以完成数据验证
        //actionContext.ModelState.IsValid 方法执行前完成检测
        //actionContext.Response
        base.OnActionExecuting(actionContext);
    }

    /// <summary>
    /// 方法执行后
    /// </summary>
    /// <param name="actionExecutedContext"></param>
    public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {
        Console.WriteLine("OnActionExecuted");
        //actionExecutedContext.Response
        base.OnActionExecuted(actionExecutedContext);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_39827640/article/details/107647113