技术分析

jsfx
数据可视化技术分析

.NET Core中过滤器Filter的使用介绍

技术分析7405年前 (2019-11-05)大数据

知识点回顾:

前面几篇文章分别给大家介绍了

(1)Swagger的集成和用法;

(2)JWT身份验证的集成和用法;

(3)OOM框架AnutoMapper对象映射的用法;

今天给大家介绍过滤器Filter的基本使用:

过滤器有什么作用,在什么场景下适合用到它?

假设一个项目进展到快结束的时候,项目leader为了保证程序的稳定性和可监控和维护性要求将所有的方法加上日志,如果项目比较庞大,方法非常多,那岂不是得费很大得劲来完成这样一件事情。不过不用担心,咋们遇到的问题,伟大的语言设计者早已帮我们想好了解决办法过滤器,过滤器是一种AOP(面向切面编程)技术的体现,AOP具有松耦合,易扩展,代码可复用的特点。

通常我们在这些场景下如身份验证、日志记录、异常获取等会使用到过滤器

.NET Core中的过滤器生命周期:


 

.NET Core中的过滤器有多种,今天给大家主要介绍ActionFilterAttribute的用法

(1)自定义一个Filter类:

复制代码
public class LogFilter: ActionFilterAttribute
{    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {        base.OnActionExecuting(filterContext);        /* todo OnActionExecuting */
    }    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {        base.OnActionExecuted(filterContext);        /* todo OnActionExecuted */
    }    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {        base.OnResultExecuting(filterContext);        /* todo OnResultExecuting */
    }    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {        base.OnResultExecuted(filterContext);        /* todo OnResultExecuted */
    }
复制代码

 

(2)注册过滤器,注册过滤器有两种方式,一种是全局注册,另一种是局部注册:

//全局注册,在ConfigureServices方法中添加注册代码:services.AddMvc(option => { option.Filters.Add(typeof(LogFilter)); });  //全局注册过滤器

局部注册,局部注册可以体现在类或方法上:


 

(3)运行,请求一个具体接口,跟踪一下执行顺序:


 

 

可以看到过滤器起到了对应的作用。

扫描二维码推送至手机访问。

版权声明:本文由策意data发布,如需转载请注明出处。

转载请注明出处http://dsj.ceyicm.cn/reed/36.html

分享给朋友:

相关文章

利用org.mybatis.generator生成实体类

利用org.mybatis.generator生成实体类

springboot+maven+mybatis+mysql 利用org.mybatis.generator生成实体类1.添加pom依赖: 2.编写generatorConfig....

将本地构建好的docker镜像发布到dockerhub

将本地构建好的docker镜像发布到dockerhub

各位读者你们好,上一篇文章介绍了如何将.NET Core项目构建成一个docker镜像,那么今天接下来我们介绍如何将本地docker项目镜像发布到dockerhub上,好了废话不多说,直接进入正题:(...

将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署

将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署

第一步 环境准备,安装docker环境:1234567891011通过命令安装docker:sudo apt-get install -y docker.io 启动Docker服务...

从dockerhub拉取NBI可视化产品镜像

从dockerhub拉取NBI可视化产品镜像

前两篇文章介绍了将docker镜像打包,镜像发布,那么今天为大家介绍完一个闭环操作,如何从dockerhua拉取镜像,运行镜像,下面将演示从ubuntu和centos系统上拉取和运行镜像操作:操作流程...

集成Swagger接口文档分组配置.net core

集成Swagger接口文档分组配置.net core

(一)回顾:上一篇为大家介绍了在.NET Core中如何集成Swagger的介绍,想想集成操作其实非常简单便捷,实质就三个步骤:(1)在项目中执行nuget命令,拉取Swagger包到项目:Insta...

实战:SpringBoot+KafKa实现生产者和消费者功能

实战:SpringBoot+KafKa实现生产者和消费者功能

1.配置pom包<dependency>  <groupId>org.springframework.kafka</groupId>  <...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
每一次合作都多一位朋友

体验账号:administrator 密码:administrator

  • 7X12小时
    7X12小时

    专家1V1服务

  • 业务保障
    业务保障

    扎实数据根基

  • 合作伙伴
    合作伙伴

    NBIDataVis

  • 强大交付
    强大交付

    实现客户价值