【问题标题】:Contextual Binding with Castle Windsor与温莎城堡的上下文绑定
【发布时间】:2009-05-12 13:28:56
【问题描述】:

是否可以让 Windsor 根据单独的参数返回不同的服务实现?

例如,如果我有一个具有 Role 属性的 User 对象,我希望能够根据 Role 的值以不同的方式对这个对象进行水合。我想使用 IUserService 来执行此操作,但 IUserService 的具体实现由 IoC 容器确定。

我认为 Ninject 以“上下文绑定”的形式提供此功能,但我不确定 Windsor 是否在不滚动我自己的解析逻辑的情况下提供它?

【问题讨论】:

    标签: dependency-injection inversion-of-control castle-windsor ioc-container


    【解决方案1】:

    不,这是不可能的(还)。 看看herehere。 现在看看 HandlerProvider 是否满足您的需要。 如果没有,您可能需要使用 ISubDependencyResolver(实际上并不是很复杂)。

    【讨论】:

    • 我最终使用了 ISubDependencyResolver - 效果很好!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多