Come utilizzare un singolo componente per più servizi in Unity Framework?Tipi inoltrati in Microsoft Unity
a Windsor è configurato nel modo seguente:
var container = new WindsorContainer();
container.Register(Component.For<Service1, Service2>()
.ImplementedBy<Component>());
var service1 = container.Resolve<Service1>();
var service2 = container.Resolve<Service2>();
L'idea con tipi inoltrati è che se il componente è un Singleton service1
e service2
sono la stessa istanza.
Grazie! Ma lo sapevate che il test passerà anche se rimuovete ContainerControlledLifetimeManager() per IService1 o IService2? Chi ha deciso che ContainerControlled sostituirà la durata del Transitorio (per i componenti con lo stesso nome - il nome predefinito nel nostro caso)? –
Questo è davvero sorprendente. Non ho una buona spiegazione per questo. In effetti, sarei tentato di registrarlo come un bug ... –
Con Unity 1.2 il test fallisce senza ContainerControlledLifetimeManager – onof