2012-07-06 5 views
0

MS Unity 컨테이너를 사용하고 있습니다. 그리고 내 모든 모듈은이 같은 사전에서 값을 추가 할 경우 공통의 객체를 사용할 필요가 :MS UNITY : 모든 모듈에 사전에 액세스하는 방법?

Dictionary<Type, Func<BaseItem, BaseItemViewModel>> Maps 

을 그리고는 뷰 모델을 사용하는 경우,이 공통 사전을받습니다.

파트너가 Unity를 구성하는 것에 대해 이야기했지만 Unity에 대한 지식이 거의 없습니다.

답변

1

서비스를 만들고이를 하나로 등록하십시오.

public interface ICommonDataService 
{ 
    Dictionary<Type,Func<BaseItem, BaseItemViewModel>> GetMaps(); 
} 

public class CommonDataService : ICommonDataService 
{ 
    public Dictionary<Type,Func<BaseItem, BaseItemViewModel>> GetMaps() 
    { 
     //Implementation 
    } 
} 

그런 다음이 주입하거나 인터페이스에서 인스턴스를 해결하기 위해 ServiceLocator을 사용할 수 있습니다 그리고

protected override void ConfigureContainer() 
    { 
     base.ConfigureContainer(); 
     Container.RegisterType<ICommonDataService, CommonDataService>(new ContainerControlledLifetimeManager()); 
} 

당신의 부트 스트 래퍼에 연합에 등록 예를 들어

...

관련 문제