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]
  • 相关阅读:
    selenium 安装
    创建项目/执行
    mysql远程访问
    如何通过批处理文件直接运行python代码
    python中通过字典实现函数指针
    装饰器
    正则表达式学习笔记
    Jupyter使用
    【数学】一张通往数学世界的地图-阅读笔记
    【算法导论】二叉搜索树的删除除操作
  • 原文地址:https://www.cnblogs.com/-zzc/p/14533884.html
Copyright © 2011-2022 走看看