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接口,设置执行顺序。
➡️