使用Windsor 3.0+ xml配置,如何为服务注册多种类型?

时间:2012-04-27 13:08:55

标签: castle-windsor windsor-3.0

我知道我可以为一个组件注册一个类型:

<component 
    id="myservice"
    service="MyServices.IService"
    type="MyServices.Impl.Service1" />

想象一下这样一个场景,我有一个类,它接受一个I​​Service数组,如下所示:

public class MyClass
{
    public MyClass(IService[] services) { ... }
}

如何使用XML配置为IService组件注册Service1,Service2和Service3?

1 个答案:

答案 0 :(得分:0)

<component 
    id="myservice1"
    service="MyServices.IService"
    type="MyServices.Impl.Service1" />
<component 
    id="myservice2"
    service="MyServices.IService"
    type="MyServices.Impl.Service2" />
<component 
    id="myservice3"
    service="MyServices.IService"
    type="MyServices.Impl.Service3" />

或者如果你想要更紧凑:

<component service="IService" type="Service1" />
<component service="IService" type="Service2" />
<component service="IService" type="Service3" />