Используя конфигурацию Windsor 3.0+ xml, как я могу зарегистрировать несколько типов для службы?

Я знаю, что могу зарегистрировать один тип для компонента следующим образом:

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

Представьте себе сценарий, в котором у меня есть класс, который принимает массив IService следующим образом:

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

Как зарегистрировать, например, Service1, Service2 и Service3 для компонента IService, используя конфигурацию XML?

1 ответ

Решение
<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" />
Другие вопросы по тегам