C#内置AOP - 它正在路上吗?

Sam*_*ron 29 .net c# aop

在大型应用程序中,我发现自己真的希望我有内置的AOP设施.因为它位于C#中,您可以做的最好的是工厂和RealProxys,PostSharp,ICorDebug,ICorProfiler或注入框架.做AOP没有干净的内置方式.

是否有任何指示(博客文章/内部讨论)表明AOP正在进行中?

Jb *_*ain 11

Romain的答案涵盖(几乎:)完美的当前解决方案.至于未来的支持,安德斯·海尔斯伯格如前所述是they'were在等待和看到AOP模式.

我们只能希望通过csc的管理重写和"编译器即服务",可以插入编译器,并在那里注入方面.


Rom*_*ier 9

我没有听说过"干净的内置AOP方式".但正如你所说,使用PostSharpCastle DynamicProxy等成熟而强大的框架,已经有很多"干净的AOP方式" .

使用BCL,一种显而易见的AOP方法,就是使用.NET Remoting堆栈中的透明和真实代理.

另一种方法是依靠System.Reflection.Emit动态生成代理,例如来自Castle的hum,DynamicProxy.

最后,还有企业库附带的另一个官方微软标记解决方案.我在谈论策略注入应用程序块.Unity还提供了一些利用PIAB的拦截功能.

  • PostSharp商业化,不适合那种图书馆. (2认同)