0

文档说我可以Interceptor为每个类应用多个属性。不过,我收到语法错误重复属性这篇文章还建议我可以将拦截器应用于方法,但我不能!我的测试只有在我将它们应用到类时才能通过,如果我希望拦截器只对某些方法执行,那就更烦人了。

[Interceptor (typeof (CastleWindsorAspect))]
[Interceptor (typeof (AnotherCastleWindsorAspect))]
public class CastleWindsorDomainType { }
4

1 回答 1

1

您确实可以将多个拦截器应用于一个组件。您可以使用流畅的注册 API 和 XML 配置来完成。

您还应该能够通过自定义属性来做到这一点,就像您演示的那样,但似乎 Windsor 中有一个错误,不允许您多次指定它(因此您看到的错误)。我建议将此报告为错误并同时使用注册 API 附加多个拦截器。

至于将拦截器应用于方法,您可以这样做,但不能以声明方式。相反,您需要指定IProxyGenerationHookIInterceptorsSelector控制应代理哪些方法和/或应将哪些拦截器应用于哪些代理方法。

于 2012-05-24T21:32:43.147 回答