IISでホストされているいくつかのWCFサービスを持つアプリケーションで、依存関係をインスタンス化するためにMEFを使用したいと考えています。さまざまなサービスは共有コンポーネントに依存しています。これらのインスタンス化と注入をMEFで管理したいと思います。MEFとWCF
どこで作曲しますか?当初、私はIInstanceProviderにCompositionContainerを持つことを考えましたが、そのコンテナは単一のエンドポイントにしか提供されず、そのインスタンスが管理するインスタンスは他のエンドポイントと共有されないことに気付きました。同様に、CompositionContainerをServiceHostに持つこと - それは異なるサービス間で共有されません。
この分析では正しいですか? CompositionContainerをアプリケーションレベルでシングルトンとして使用する唯一のソリューションですか?
2番目の質問は次のとおりです。 - 新しいユーザーセッションが開始されたときのように、サービスがWCFによってインスタンス化されると、どのように依存関係を提供できますか? CompositionContainerの再構成を行いますか?既に実行されている他のServiceインスタンスに影響することはありませんか?
誰でもこのコンセプトのコードサンプルを共有できますか?どうもありがとう!
ご協力いただきありがとうございます。私はすでにSteve Moseleyの例を見てきました。キャッチはコンテナが「WCFエンドポイントごと」であることです。 MEFでは、エクスポートされたオブジェクトを異なるエンドポイント間で共有することができないことを知っています。私にとっては、これはショーストッパーです。この点でUnityは違うのですか? – urig
「共有コンポーネント」と言うと、共有コンポーネントはさまざまなサービスで利用される状態/値を維持する必要がありますか? – Kwal
これらはシングルトンです。私は、IoCコンテナをハードコードするのではなく、そうするようにしたいと思います。 私がこれまでに読んだことから、すべての異なるサービスを構成する静的な工場が必要です。キャッスルウィンザーはこれを「WCFインテグレーションファシリティ」と名付けました。 私はMEFに似た何かを持っていたいと思います。しかし、私はそれを実行時にオンデマンドで自動配線する方法を知らない。静的なCompositionContainerを持っていて、すべてのサービスインスタンスに対してCompose()を呼び出すと、すでに作成されているサービスインスタンスに悪影響が及ぶでしょうか? – urig