ABP(v5.13 ),替换全局异常处理过滤器

ASP.NET Boilerplate说明:目标框架是.NET Standard2.0,包版本5.13.0

全局异常处理过滤有两个,AbpExceptionFilter,AbpExceptionPageFilter
是在services.AddAbp()的时候注册的。
然后网上有很多很多资料,说怎么替换
一种是这样说的
services.AddControllers(options=> {
options.Filters里查找要替换的filter,remove掉,然后加入自己需要的filter
});
这种说法是错误的,因为在这个时候,abp的filter还没有添加到MvcOptions里,根本就查不到。

还有一种说法,是添加进去的filter,order小的先执行,也是错误的,是大的先执行。

只要按照下面方式添加自定义的filter就可以正常使用。
services.AddControllers(options=> {
options.Filters.AddService(typeof(myExceptionFilter), order: 2)
});
abp添加的filter默认order是0,我们只要order>0就可以优先执行了,并不需要移除已有的filter。

ps:如果有移除filter的方法,希望哪位朋友留言下,谢谢了。

posted @ 2022-10-21 20:58  经常迷路  阅读(127)  评论(1编辑  收藏  举报