城堡.温莎每个职业多个拦截器

本文关键字:城堡 | 更新日期: 2023-09-27 18:35:11

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

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

城堡.温莎每个职业多个拦截器

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

您还应该能够通过自定义属性执行此操作,就像您演示的那样,但温莎中似乎存在一个错误,该错误不允许您多次指定它(因此您看到的错误)。我建议将此报告为错误,并同时使用注册 API 附加多个受体。

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