現在、複数の WCF サービスをホストする小さな App-Server を構築しようとしています。これらのサービス (およびもちろんその依存関係) は、DI/IoC コンテナー (現在は LightCore ですが、CommonServiceLocator を介して使用しているため、簡単に交換できるはずです) によってインスタンス化する必要があります。残念ながら、私は問題に遭遇しました。明らかに、前述の WCF サービスをホストする ServiceHost インスタンスを作成する必要があります。サービスのすべての依存関係を処理するために、カスタマイズされた InstanceProvider と ServiceBehavior を既に構築しましたが、ServiceHost のコンストラクターには、ホストするサービスのサービス タイプが必要です。私のプログラムのこの時点では、DI コンテナーだけが現在使用されている Service 実装を認識しているため、Interface Type しか認識していません。
安上がりな方法は、Service Locator を介してサービス タイプの「ダミー」インスタンスを作成し、ServiceHost コンストラクターに myDummyInstance.GetType() の出力を与えることですが、これは役に立たないインスタンス化と代わりに Service Locator を使用することを見るのが面倒です。 DI...もっと良い方法があるはずです。
アイデアはありますか?:)