質問

私はリスナーがのIoCコンテナによって作成されたときにシングルトンイベントアグリゲータに私のリスナーのの自動登録を実装しようとしている - 基本的にはジェレミー・D. Miller氏は、しかし、城の代わりのStructureMapとやっていることます。

だから私は、「インターセプト」ウィンザーのオブジェクト作成メカニズムにできるようにしたいと、オブジェクトが(のはIListenerを言わせて)マーカーインターフェイスをサポートしている場合、作るために(また、コンテナに登録されている)SubscribeEventAggregatorメソッドを呼び出します新しく作成されたオブジェクトのイベントに加入。オブジェクトのインスタンスは、コンテナによって解放される前にも、私はそれを解除することができるようにしたい。

私はこのような何かを達成するために使用する必要があるウィンザー城で何のメカニズムについて少し困惑していますか?私はIInterceptorインターフェースを見て始めたが、すべては、私が本当に必要な(とパフォーマンス上の理由から避けたい)ものではありませんオブジェクトへの呼び出しをインターセプトするようです。

役に立ちましたか?

解決

IKernel あなたはそれを構築するために使用することができますComponentCreatedComponentDestroyedのような。 多くのサンプルがウェブ上にあります。

そうでなければ、あなただけのイベント配線施設を使用することができますが、それがベースの規則ではありません。

他のヒント

また、このようにOnCreate関数を使用できます:

container.Register(
        Component.For(typeof (Foo)).OnCreate(
          (k, c) => {
            // ...
            eventAggregator.Subscribe(c);
            // ...
          }));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top