配置windsor拦截器仅挂钩标记的方法

时间:2012-05-11 08:05:49

标签: configuration castle-windsor interceptor

是否有可能将Interceptor配置为仅挂钩特殊接口或基类的方法?  目前我已经注册了Interceptor,它与一个DB的连接范围有关。现在我添加了另一个使用另一个db的范围,并希望添加另一个拦截器,它将挂钩第二个范围的方法。可以通过xml文件配置拦截器,而不是检查调用属性的目标。

我通过组件添加了拦截器:

 <component
    type="Common.IoC.SessionScopeInterceptor, Common"
    lifestyle="transient">
 </component>

AFAIK此拦截器拦截在windsor容器中注册的所有类的所有方法。

我想添加类似这样的东西^

 <component
    type="Common.IoC.SessionScopeInterceptor, Common"
    lifestyle="transient"
    interceptOnlyVirtualMethods="true"
    interceptClass="Common.IoC.SessionScope1, Common"
    >
 </component>

1 个答案:

答案 0 :(得分:2)

您需要创建自己的AbstractFacility来实现您想要的行为。从本质上讲,你需要实现类似于Mikael Sundberg在回答this问题时所做的事情。