В настоящее время я работаю над проектом 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 { }
}
}