Unity와 WPF를 사용하는 동안 약간의 문제가 발생했습니다. 시나리오는 MVVM 디자인 패턴을 따르는 WPF 응용 프로그램입니다. A ViewKDI라는 모듈이 있습니다. 이 모듈에는 ViewKDIService라는 서비스가 있고 ViewKDIService 서비스는 UserService라는 다른 서비스를 사용합니다.새로운 서비스 인스턴스를 반환하는 Unity
모듈을로드 할 때마다 ViewKDI는 ViewKDIService와 UserService의 새로운 인스턴스를 반환합니다.
나는 쉘 부트 스트 래퍼의 아래에 넣어 가지고 :
Container.RegisterType<IUserService, UserService>();
을 나는 다음을 넣어 한 ViewKDI 모듈에서 :
Container.RegisterType<IViewKDIService, ViewKDIService>();
할 때마다 ViewKDI 모듈은 ViewKDIService 생성자가 호출로드합니다. 그러나 UserService 생성자는 처음에만 호출됩니다. 즉, UserService의 새 인스턴스를 가져 오지 못합니다.
나는이 세션을 나머지 응용 프로그램과 별도로 관리 할 수 있도록 UserService의 새로운 인스턴스를 제공해야합니다.
아이디어가 있으십니까? 파이
각 유형을 해결할 때 자세한 정보를 제공 할 수 있습니까? IUserService는 ViewKDIService의 의존성입니까? –
나는 명시 적으로 resolve를 호출하지 않고있다. 나는 인터페이스를 ViewModel의 생성자에 넣었고 Unity가이를 해결하도록했다. IUserService는 IViewKDIService에 종속되지 않습니다. – Faisal
IUserService와 IViewKDIService가 어떤 객체에 삽입되어 있는지 확인하는 것이 도움이 될 것입니다. 예를 들어, 모두 ViewModel에 삽입되거나 그냥 IUserService에 삽입됩니까? –