<分区>
我有一个 ASP.NET 3.5 SP1 Webforms 应用程序。我将 MVP 模式(监督 Controller )与 DI(autofac)结合使用。我的演示者调用在我的域 (DDD) 中定义的存储库合约,这些合约在基础设施项目中实现。
演示者调用的存储库方法可能会出错,因此我需要记录异常,然后在 View 上设置错误消息。
在过去,我会向 Presenter 构造函数添加 另一个 参数,将引用存储在 Base Presenter 中,并在我的 Catch block 中调用 Log 方法。我不太喜欢这样,但它完成了工作。
我可以使用工厂获取日志类 as described here ,但我想先探索 AOP,因为它看起来很有趣。
我已经阅读了编译时 AOP 与运行时 AOP 的资料,我想知道人们对不同解决方案的体验、优点、缺点、建议等。
根据我所做的挖掘,.NET 中似乎有 4 个主要的 AOP 框架
- 温莎城堡 - 我通常远离它,因为它做了很多我真的不需要的东西
- Spring.net - 听起来它拥有良好的记录,但通过其 xml 配置激发了恐惧(我不喜欢不流畅的配置)
- PostSharp - 属性驱动(我喜欢这个)但有一次 some line number issues , 不确定它们是否仍然存在
- Unity - 很多我并不真正需要的东西
我看到 another question这有一些很好的答案,但它是一年半前的。是否有更新的、“更好的”同时开发的框架,或者对现有解决方案的改进应该考虑在内?
作为引用,我选择 Autofac 进行 DI,因为它流畅、易于使用,找不到任何关于它的负面评论,而且它很管用。
是否有关于我应该尝试使用哪种 AOP 框架的建议?感谢您阅读所有这些内容并提出任何想法。