过滤器

什么是过滤器?
想象一下,顾客进店买奶茶,并不是直接就能拿到奶茶的,中间要经过好几道关卡:

进店前:保安看看你戴没戴口罩(身份验证/授权)。

点单前:店员看看你是不是本店黑名单用户(自定义逻辑)。

做奶茶时:如果机器突然炸了,得有主管出来处理事故(异常处理)。

拿走奶茶后:店员要在杯子上贴个标签,写上“祝您用餐愉快”(结果处理)。

在 ASP.NET Core 里,过滤器就是这些“保安”和“店员”,它们守在你的代码(业务逻辑)前后,帮你在不修改核心代码的情况下,处理那些琐碎的杂事。

——————————————————————————————————————————————————————————————————————————————
过滤器的五个级别
按顺序排好队,每个过滤器负责不同的活儿:

授权过滤器 (Authorization):你是谁?有权进店吗?(最先执行)

资源过滤器 (Resource):这杯奶茶我之前做过一样的,要不直接从冰箱里拿给你?(用于缓存)

操作过滤器 (Action):在店员开始动手做奶茶之前和之后,额外做点事(比如记录一下谁点了单)。

异常过滤器 (Exception):奶茶机坏了、珍珠卖完了,统一告诉顾客:“抱歉,请稍等”。

结果过滤器 (Result):奶茶做好了,在递给顾客之前,最后检查下包装。

posted @ 2026-04-18 12:35  菜鸟的奋斗军  阅读(9)  评论(0)    收藏  举报