Использование IUnityContainer с одноэлементным классом в UWP - PullRequest
0 голосов
/ 24 сентября 2018

В настоящее время я работаю над проектом UWP, используя Prism.У меня проблема с DI & IUnityContainer.Я хочу вызывать свой сервис в IUnityContainer в любом месте моего проекта UILogic без объявления его в конструкторе ViewModel.Должен ли я использовать синглтон-класс, который содержит контейнер и вызывает его, вместо объявления в конструкторе?Вот мой синглтон-класс

 public class WebServiceHandler
{
    private static WebServiceHandler _instance;
    private static object syncRoot = new Object();
    private IUnityContainer myContainer;
    public IErrorMessageService ErrorMessageService;
    public IEventAggregator EventAggregator;
    public IRunInformationService RunInformationService;
    public static WebServiceHandler Instance
    {
        get
        {
            if (_instance == null)
            {
                lock (syncRoot)
                {
                    if (_instance == null)
                    {
                        _instance = new WebServiceHandler();
                    }
                }
            }
            return _instance;
        }

    }
    private WebServiceHandler()
    {
        try
        {
            myContainer = (UnityContainer)Application.Current.Resources["MyContainer"];
            ErrorMessageService = myContainer.Resolve<IErrorMessageService>();
            EventAggregator = myContainer.Resolve<IEventAggregator>();
            RunInformationService = myContainer.Resolve<IRunInformationService>();
        }
        catch { }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...