与温莎城堡的语境绑定

时间:2009-05-12 13:28:56

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

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

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

我认为Ninject将此功能作为“上下文绑定”提供,但我不确定Windsor是否提供它而不会滚动我自己的解析逻辑?

1 个答案:

答案 0 :(得分:3)

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