有没有人在生产环境中使用了
Postsharp AOP框架?有没有任何陷阱?为了做一些日志记录等,Postsharp可以和log4net一起使用吗?
任何使用Postsharp与Web应用程序和/或log4net的教程将受到高度评价。
提前致谢。
解决方法
我和另外一个队友以不同的方式使用PostSharp在几个已经生产的几个项目中。例如,在一种情况下,我使用它在异常情况下记录方法参数值。 PostSharp Laos(包括在PostSharp中)是一种易于使用的注入方法调用的方法(例如方法入口,退出和例外),您可以轻松地将日志调用添加到log4net注册的记录器中。
它增加了构建时间,足以略微改变我的构建习惯,但是对于它提供的好处,IMO肯定不会太多。在编写代码时,您可能希望将其从本地构建中排除,这很容易做到,因此您可以继续构建频繁,快速,然后将其包含在构建服务器等上。
这是来自Gael(PostSharp创建者)的good PostSharp tutorial …虽然它很老,很高兴看到它是一个贯穿。在我到目前为止遇到的控制台,winforms,WPF或WebApp中使用它真的没有区别。
我也会说,一旦你已经弄清楚如何将老挝方面添加到一个项目中,重复这个练习是很容易的。而且您应用多少组件/类之间的关系,以及PostSharp添加到您的构建中的时间。所以你甚至可以控制构建时间问题。
对于代码,我非常深刻的印象深刻PostSharp如何工作…它从来没有搞砸了一个构建,使一个程序集无效或以其他方式搞砸了代码。而且我甚至在ASP.NET应用程序中使用了代码覆盖和性能测试(因此它与MS的装配工具工具很好地一起使用)。
总而言之,我会def。建议您尝试使用您的log4net要求。