Если я зарегистрирую два компонента для одного и того же сервиса, например,
container.Register(
Component.For<IThing>.ImplementedBy<Thing1>(),
Component.For<IThing>.ImplementedBy<Thing2>())
, я нахожу удивительным, что если я Resolve
получу зависимость от IThing
или попросу ее разрешить вручную, Windsor простовыберите один, чтобы дать мне (первый, или Thing1
, он появляется).
Я понимаю, что в некоторых случаях это может быть полезно, чтобы один регистратор "переопределил" другого, получив первое место в списке зарегистрированныхкомпоненты.
Есть ли способ указать, что, когда служба IThing
разрешается в одиночку, в этом случае должно создаваться исключение?