zoukankan      html  css  js  c++  java
  • ASP.NET Core中的过滤器

    过滤器作用

    • 作用于mvc中
    • 可在mvc之前、之后添加业务逻辑
    • 可以到处复用,避免代码重复

    过滤器的执行流程

     异常过滤器只能捕获模型绑定、动作过滤器、动作执行的异常

    过滤器的种类

    过滤器 继承接口(同步、异步) 调用 说明
    授权过滤器 IAuthorizationFilter、IAsyncAuthorizationFilte OnAuthorization 请求时进行授权,只调用一次
    资源过滤器 IResourceFilter、IAsyncResourceFilter

    OnResourceExecuting

    OnResourceExecuted

    请求时调用

    返回时调用

    异常过滤器 IExceptionFilter、IAsyncExceptionFilter OnException 捕获模型绑定、动作过滤器、动作执行的异常,有异常时执行一次
    动作滤器 IActionFilter、IAsyncActionFilter

    OnActionExecuting

    OnActionExecuted

    请求时调用

    返回时调用

    结果过滤器 IResultFilter、IAsyncResultFilter

    OnResultExecuting

    OnResultExecuted

    请求时调用

    返回时调用

    使用

    同步版本

    异步版本

     

    过滤器的应用

    作用于全局

     public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews(options =>
       {
            //options.Filters.Add(new MyResourceFilter());
            //options.Filters.Add(typeof(MyResourceFilter));
            options.Filters.Add<MyResourceFilter>();
        });
    }

    作用于Controller

    作用于Action

    //只需要在Controller和Action上添加就行
    [MyResourceFilter]
  • 相关阅读:
    Java中的泛型
    Java中List、Collections实现梭哈游戏
    Java中HashMap案例
    Java中ArrayDeque,栈与队列
    Java中List的使用
    学会使用JDK API
    Java中的数学运算BigDecimal
    在清华听演讲语录
    Java面向对象深度
    类变量、实参、形参、方法参数、代码块参数
  • 原文地址:https://www.cnblogs.com/-zzc/p/14533884.html
Copyright © 2011-2022 走看看