У меня есть небольшой инструментарий, который использует Unity DI плюс EntLib Service Locator. Проблема возникает, когда сторонние приложения пытаются использовать локатор службы EntLib. Похоже, что EntLib Service Locator является одиночным, поэтому, когда стороннее приложение загружает свой сервисный локатор, оно стирает конфигурацию моего сервисного локатора.
Клиент создает сервисный локатор следующим образом:
container = new UnityContainer();
locator = new UnityServiceLocator(Initialize());
ServiceLocator.SetLocatorProvider(() => locator);
И это используется таким образом:
ServiceLocator.Current.GetInstance<IService>("MyService");
Есть ли способ управлять двумя ServiceLocator или регистрировать дополнительные компоненты в локаторе службы во время выполнения?