ASP.NET Core 过滤器高级篇

💡 原文中文,约6300字,阅读约需15分钟。
📝

内容提要

本文介绍ASP.NET Core过滤器的高级话题,包括依赖注入、全局过滤器、执行顺序和修改顺序。过滤器依赖注入需要使用TypeFilter特性,全局过滤器自动应用到每个控制器的每个方法上,执行顺序按指定顺序运行,可通过IOrderedFilter接口修改顺序。

🎯

关键要点

  • 讨论ASP.NET Core过滤器的高级话题,包括依赖注入、全局过滤器、执行顺序和修改顺序。

  • 过滤器依赖注入需要使用TypeFilter特性,不能直接应用于action方法。

  • 创建IExceptionFilterMessage接口用于存储action方法中的错误信息。

  • CatchErrorMessage过滤器依赖于IExceptionFilterMessage接口,通过依赖注入特性解析。

  • 全局过滤器自动应用于每个控制器的每个方法,无需单独应用。

  • 通过在Program类中注册过滤器,将其设置为全局过滤器。

  • 过滤器执行顺序为authorization、action、result,Controller过滤器优先于Action过滤器。

  • 可以通过IOrderedFilter接口修改特定类型过滤器的执行顺序。

  • ShowMessage过滤器可以通过构造函数初始化消息,并在响应中写入HTML。

  • 修改ShowMessage过滤器以实现IOrderedFilter接口,设置执行顺序。

➡️

继续阅读