Unity DI と EntLib Service Locator を使用する小さなツールキットがあります。この問題は、サード パーティのアプリが EntLib サービス ロケータを使用しようとすると発生します。EntLib Service Locator はシングルトンのように見えるため、サードパーティ アプリがそのサービス ロケーターをブートストラップすると、サービス ロケーターの構成が消去されます。クライアントは、次の方法で Service Locator を作成します。
container = new UnityContainer();
locator = new UnityServiceLocator(Initialize());
ServiceLocator.SetLocatorProvider(() => locator);
そして、次のように使用されます。
ServiceLocator.Current.GetInstance<IService>("MyService");
2 つの ServiceLocator を管理する方法や、実行時にサービス ロケーターに追加のコンポーネントを登録する方法はありますか?