【问题标题】:Castle.Windsor multiple Interceptors per classCastle.Windsor 每个类有多个拦截器
【发布时间】:2012-05-25 05:32:43
【问题描述】:

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

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

【问题讨论】:

  • 您使用的是哪个版本的温莎城堡?
  • 框架 3.5 的最新版本
  • 请提供一些示例代码来突出您的问题。

标签: c# .net-3.5 castle-windsor


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    相关资源
    最近更新 更多