AOP与Autofac和DynamicProxy2

时间:2011-01-26 17:04:07

标签: aop autofac castle-dynamicproxy

我正在使用Autofac和DynamicProxy2拦截我的类

builder.RegisterType<Calculator>().As<ICalculator>().EnableInterfaceInterceptors()
                .InterceptedBy(typeof (CallLogger));

这将拦截给定接口上的所有方法。

有没有办法只拦截界面的特定方法?

1 个答案:

答案 0 :(得分:2)

我可以想到几种方法,而且可能还有更多方法。

您可以创建自定义属性,例如[LogCall][DoNotLogCall](选择加入或退出)并将其应用于要拦截的方法,然后检查{{1}内是否存在属性}。

或者,您可以使用要记录的方法的名称(或要查找的规则)配置CallLogger