Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#内置AOP-正在路上吗?_C#_.net_Aop - Fatal编程技术网

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

C#内置AOP-正在路上吗?,c#,.net,aop,C#,.net,Aop,在大型应用程序中,我发现自己真的很希望有内置的AOP功能。在C#中,你能做的最好的事情就是工厂和RealProxys、PostSharp、ICorDebug、ICorProfiler或注入框架。没有干净的内置方式来执行AOP 是否有任何迹象(博客文章/内部讨论)表明AOP正在进行中 我还没有听说过“干净的内置AOP方法”。但是正如您所说的,已经有很多“干净的AOP方法”,使用成熟而强大的框架,比如or 使用BCL进行AOP的一种明显的方法是使用.NETRemoting堆栈中的透明和真实的代理,这

在大型应用程序中,我发现自己真的很希望有内置的AOP功能。在C#中,你能做的最好的事情就是工厂和RealProxys、PostSharp、ICorDebug、ICorProfiler或注入框架。没有干净的内置方式来执行AOP

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

我还没有听说过“干净的内置AOP方法”。但是正如您所说的,已经有很多“干净的AOP方法”,使用成熟而强大的框架,比如or

使用BCL进行AOP的一种明显的方法是使用.NETRemoting堆栈中的透明和真实的代理,这种方法有很强的局限性

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

最后,还有另一个官方的微软标志的解决方案,随附。我说的是这个。还提供了一些利用PIAB的拦截功能。

Romain的回答(几乎:)完美地涵盖了当前的解决方案。至于未来的支持,有消息称他们对AOP处于观望状态


我们只能希望,通过csc的托管重写和“编译器即服务”,人们可以插入到编译器中,并在那里注入方面。

Delphi Prism的五月版本在语言级别上具有AOP支持

你可以在这里了解更多

这里还有一个方面的开源库


Spring.NET也提供了AOP。它需要很多配置,但一旦设置好,它就可以正常工作。

你们在mono中使用本机AOP吗?mono wrt AOP没有什么特别的。我们已经有了一个托管编译器,它很容易被黑客攻击,这将是一个很好的起点,让一些感觉更集成到编译器中,显然不会发生这种情况,因为PostSharp已经商业化了,这不适合这种库。@aloneguid我很确定V1.5仍然是免费的,并且仍然提供比其他静态编织器更多的功能。另外,为什么你会认为有些图书馆可以是商业化的,而另一些则不能呢?更新链接到统一拦截文档的链接: