标签: dependency-injection inversion-of-control castle-windsor ioc-container
是否有可能让Windsor根据单独的参数返回服务的不同实现?
例如,如果我有一个具有Role属性的User对象,我希望能够根据Role的值以不同方式对该对象进行水合。我想使用IUserService来执行此操作,但具有由IoC容器确定的IUserService的具体实现。
我认为Ninject将此功能作为“上下文绑定”提供,但我不确定Windsor是否提供它而不会滚动我自己的解析逻辑?
答案 0 :(得分:3)
不,(还)是不可能的。 看看here和here。 现在看看HandlerProvider是否满足您的需求。 如果没有,您可能需要使用ISubDependencyResolver(实际上并不是很复杂)。