.NET方法调用拦截

时间:2010-09-02 08:54:29

标签: .net language-agnostic

我需要拦截方法调用...请建议一个现成的解决方案。 有必要阻止对某些方法的访问(因此调用它们会产生异常)

5 个答案:

答案 0 :(得分:6)

AOP提供您正在寻找的功能。对于完整的AOP解决方案,您可以使用PostSharp

由于您只是在寻找拦截方法调用的方法,因此您只需要一个AOP子集。所以提供接口拦截的任何IoC container也是合适的。据我所知Spring.NETUnityCastle Windsor提供界面拦截。

编辑:如果您需要快速拦截并拥有现有代码库,我建议使用PostSharp。为了使用一些IoC容器,您可能需要修改大量代码。如果你有一个新项目考虑IoC。使用IoC设计应用程序有很多积极的影响。

答案 1 :(得分:2)

面向方面编程有助于完成此类任务。有很多可以使用的框架,我使用的是Spring.Net,非常好。

答案 2 :(得分:2)

Using Interception with Unity

您的现成解决方案是Microsoft Enterprise Library的一部分。

答案 3 :(得分:1)

对于AOP可以建议这一个PostSharp

答案 4 :(得分:1)

您可以使用Castle DynamicProxy

甚至是内置的RealProxy课程(要求您的班级继承MarshalByRefObject