美文网首页ASP.NET
.Net Core 3.x MVC AOP 面向切面编程 Exc

.Net Core 3.x MVC AOP 面向切面编程 Exc

作者: 单程车票_SJ | 来源:发表于2020-10-19 21:33 被阅读0次

AOP能在不破坏代码封装的前提下,去额外扩展功能

优点:

1. 聚焦业务逻辑,轻松扩展功能

2.代码复用,集中管理

下面开始 Filter 的例子 

1. Exception Filter  

异常过滤器:在服务器向客户端写入响应内容之前,如果系统引发了异常,异常过滤器可以捕获该异常,该过滤器作用于全局范围,这也是最常用的过滤器

新建控制器 FilterController.cs 添加 两个action 和 添加对应的视图,index 用特性 ,info 没有特性。

生成编译 -> 运行  先浏览 index -> 异常直接捕获到了

而 info 没有特性,异常直接显示在页面上。

以上是 action 的特性

接下来换成 控制器 用特性

修改 FilterController.cs 把 index 特性去掉 ,控制器用特性

生成编译 -> 运行  可以看到两个页面都捕获了

接下来再试试全局的。这样就不用改变修改控制器就能捕获异常和处理异常了

修改 FilterController.cs , 去掉控制器注册的特性

接着修改 Startup.cs , 注册 CustomExceptionFilterAttribute.cs ,就完成

这样就所有控制器异常都能捕获到,又不用修改控制器,简单的AOP就完成了


下一章《.Net Core 3.x MVC Filter 与 log4net》

相关文章

网友评论

    本文标题:.Net Core 3.x MVC AOP 面向切面编程 Exc

    本文链接:https://www.haomeiwen.com/subject/wackmktx.html