Documentation说我可以为每个类应用多个Interceptor
属性。不过我收到语法错误重复属性。另外this帖子建议我可以将拦截器应用于方法,但我不能!我的测试只有在我将它们应用到类中时才会通过,如果我希望拦截器仅针对某些方法执行,那么这也很烦人。
[Interceptor (typeof (CastleWindsorAspect))]
[Interceptor (typeof (AnotherCastleWindsorAspect))]
public class CastleWindsorDomainType { }
答案 0 :(得分:1)
您确实可以将多个拦截器应用于组件。您可以使用流畅的注册API并使用XML配置来完成它。
你也应该能够通过自定义属性来实现,就像你演示的那样,但是看起来Windsor中有一个错误,它不允许你多次指定它(因此你看到的错误)。我建议将此报告为错误,并在此期间使用注册API附加多个感受器。
至于将拦截器应用于方法,您可以这样做,但不能以声明方式。相反,您需要指定IProxyGenerationHook
或IInterceptorsSelector
来控制应该代理哪些方法和/或哪些拦截器应该应用于哪些代理方法。