2个问题:
上下文是我想要将日志记录添加到应用程序。我没有在整个地方洒上日志记录代码,而是喜欢能够在一个中心位置定义登录规则的想法。
似乎我可以使用AOP技术(PostSharp)实现这一目标。但是,如果.NET内置了一些内容,我可能会最终使用它。
答案 0 :(得分:9)
通常,AOP是编程范例,并且首先与MVC或PostSharp等特定技术无关。这说:是的,动作过滤器是这种范式的化身。
在纯.NET中,AOP可以通过使用自定义属性和反射来完成(意味着整个工作在运行时完成)。相反,PostSharp是一个方面的编织器,并在编译时发挥其魔力,修改C#编译器的IL输出。因此,不会涉及任何运行时性能损失。此外,PostSharp有很多东西(例如日志记录),它们是预先构建的,并且它更加类型安全且非常易于扩展。
您可以使用纯.NET。但这与在赛车上使用驿马车相同。