Làm thế nào để sử dụng một thành phần cho nhiều dịch vụ trong Unity Framework?Các loại chuyển tiếp trong Microsoft Unity
Trong Windsor nó được cấu hình theo cách sau:
var container = new WindsorContainer();
container.Register(Component.For<Service1, Service2>()
.ImplementedBy<Component>());
var service1 = container.Resolve<Service1>();
var service2 = container.Resolve<Service2>();
Ý tưởng với các loại chuyển tiếp là nếu thành phần này là một singleton service1
và service2
đều giống nhau dụ.
Cảm ơn bạn! Nhưng bạn có biết rằng kiểm tra sẽ vượt qua ngay cả khi bạn loại bỏ ContainerControlledLifetimeManager() cho IService1 hoặc IService2? Ai quyết định rằng ContainerControlled sẽ ghi đè tuổi thọ thoáng qua (cho các thành phần có cùng tên - tên mặc định trong trường hợp của chúng ta)? –
Điều đó thực sự đáng ngạc nhiên. Tôi không có lời giải thích tốt cho điều đó. Trong thực tế, tôi sẽ bị cám dỗ để đăng nhập đó như là một lỗi ... –
Với Unity 1,2 kiểm tra không thành công mà không có ContainerControlledLifetimeManager – onof