• 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]
  • 相关阅读:
    Netty入门——客户端与服务端通信
    使用配置文件自定义Ribbon配置
    使用Java代码自定义Ribbon配置
    Spring Cloud Ribbon入门
    负载均衡简介
    常见的几种负载均衡算法
    Eureka编程
    Eureka多机高可用
    Maven项目打包成可执行Jar文件
    Eureka单机高可用伪集群配置
  • 原文地址:https://www.cnblogs.com/-zzc/p/14533884.html
Copyright © 2020-2023  润新知