私は、多数の自己ホスト型 WCF サービスを使用して Windows サービスに取り組んでいます。DI/IoC に Autofac を使用しています。
WCF サービスとエンドポイントは app.config で設定され、構成された services を列挙するServiceHost
ことで、Windows サービスは構成された WCF サービスごとに を自動的に作成して開くことができます。
依存性注入を有効にするために、 の新しいインスタンスごとにAddDependencyInjectionBehavior
( docs ) メソッドの呼び出しを追加しますが、このメソッドは具体的にはcontractTypeServiceHost
を要求し、この時点ではサービス実装タイプしかありません。
リフレクションを使用して実装されたインターフェイスを探すことでコントラクト タイプを取得できましたが、Autofac を使用するのはこれが初めてのプロジェクトであるため、これがすべて間違っていないことを確認したかったのです。
これに対するエレガントな解決策はありますか、これは悪い習慣と見なされますか、それともこの場合の唯一の方法はリフレクションですか?
どんな入力でも大歓迎です。