1

現在、アプリケーションの 1 つを rhino-esb から rebus に移行することを検討しています。これは、最近 rhino-esb がほとんど活動していないという理由によるものです。

現在、メッセージごとに入れ子になったコンテナーを使用するために structuremap に依存していますが、インフラストラクチャの大部分を変更する必要がないように、その方法を維持したいと考えています。rebus api を少し調べましたが、ネストされたコンテナーを処理する適切な方法が見つかりませんでした。それを解決する方法について何か提案はありますか?それとも、自分で実装したことがありますか?

4

1 に答える 1

2

ええと、私自身は StructureMap の男ではありません。入れ子になったコンテナー/子コンテナーで Rebus を動作させようとしたことがないことを認めなければなりません。

しかし、ハンドラーアクティベーターと作業単位マネージャーを自分で実装すると、次のように有効にできると思います。

Configure.With(yourHandlerActivator)
    .Events(e => e.AddUnitOfWorkManager(yourUnitOfWorkManager)
    .(...)

次に、その作業単位マネージャーを使用して、次のようにメッセージ コンテキストに格納する子コンテナーを作成できます。

MessageContext.GetCurrent().Items["some-key"] = yourChildContainer;

ハンドラーを解決するときが来たら、ハンドラーアクティベーターでフェッチして使用します。

子コンテナーは、作業単位が終了したときに破棄できるため、適切に解放されます。

于 2014-02-15T18:14:21.017 に答える