交替(免费)到AOP PostSharp进行方法跟踪(和异常)

本文关键字:方法 跟踪 异常 PostSharp 免费 AOP 交替 | 更新日期: 2023-09-27 18:09:15

我喜欢在类中添加跟踪每个方法的进入和离开。并在发生异常时跟踪参数。对于PostSharp AOP,我不需要把它放在每个方法中,只需要应用属性。但是我负担不起邮政快递。

是否有其他方法可以做到这一点?Unity3D能做到吗?

我使用log4net来记录消息。

交替(免费)到AOP PostSharp进行方法跟踪(和异常)

是的,你可以使用Unity进行面向方面编程和拦截。

Unity是一个轻量级的、可扩展的依赖注入容器支持实例和类型拦截。

有一篇很棒的文章来自Dino Esposito:面向方面的编程,拦截和Unity 2.0

Unity 2.0中的拦截

Unity中拦截的核心理念是让开发者能够自定义它所需要的调用链调用对象上的方法。换句话说,就是Unity拦截机制捕获对已配置对象的调用并通过添加一些额外的元素来定制目标对象的行为在常规方法执行之前、之后或前后的代码。拦截实质上是一种极为灵活的添加新内容的方法对象在运行时的行为,而不触及其源代码和而不影响同一继承中的类的行为路径。

还有一篇很棒的关于使用Unity进行拦截的模式和实践文章。文章中的示例代码使用拦截执行日志记录。