4

MassTransit Distributed Application Framework for .NETをレビューしています。Web サイトによると、MassTransit は最初から IoC コンテナーが関与するという概念で構築されており、少数の「主流」の IoC コンテナーのサポート ライブラリを提供しています。(現在) Autofac、StructureMap、Castle Windsor、Ninject、および Unity で利用可能な NuGet パッケージがあります。

パフォーマンス上の理由から、IoC コンテナーとしてSimple Injectorを選択しましたが、MassTransit に Simple Injector のサポートを追加する統合ライブラリが見つかりません。

誰かがこれを試して、動作させて、私を始めるためのコードを利用できましたか?

4

1 に答える 1

6

私は MassTransit に詳しくありませんが、他のコンテナーの構成例を見た後、次のように思いつきました。

public static void main(string[] args)
{
    var container = new Container();

    var consumers = container.GetTypesToRegister(typeof(IConsumer),
        applicationAssemblies);

    foreach (Type consumer in consumers)
        container.Register(consumer);

    IServiceBus bus = ServiceBusFactory.New(sbc => {
        //other configuration options

        sbc.Subscribe(subs => {
            foreach (var consumer in consumers)
                subs.Consumer(consumer);
        });
    });

    container.RegisterSingle<IServiceBus>(bus);

    container.Verify();
}
于 2013-01-08T19:12:26.217 に答える