【发布时间】:2009-03-26 01:57:28
【问题描述】:
我想配置 Windsor 容器,以便单个、单例样式的实例可以通过容器提供两个或多个服务。
我发现在多个组件声明(基于 XML 的配置)中使用相同类型将导致创建该类型的实例来提供每个组件的服务接口,这不是我想要的行为。
例如:
interface IA { }
interface IB { }
class AB : IA, IB { ... }
我希望 AB 的一个实例同时提供 IA 和 IB 服务。
我想这样做的具体原因是我的具体 DAO 实现扩展了多个接口。另一方面,我有几个工作组件,它们包含对不同接口的引用。具体的 DAO 实例尊重这一点,但这些单独的工作组件的构造函数希望实现其单独的接口,我希望 Castle.Windsor 通过各自的服务请求将相同的对象实例传递给这些工作容器。
大声笑,我认为这就像泥巴一样清晰! :P
有人明白我的意思吗?有人知道如何通过组件的 XML 配置来实现这一点吗?
【问题讨论】:
标签: c# inversion-of-control castle-windsor