MassTransit和Simple Injector

quj*_*jck 4 c# masstransit inversion-of-control simple-injector

我正在审查.NETMassTransit分布式应用程序框架.根据网站MassTransit从一开始就建立了IoC容器的概念,并为少数更"主流"的IoC容器提供支持库.(目前)有Nuofet包可用于Autofac,StructureMap,Castle Windsor,Ninject和Unity.

出于性能原因,我选择了Simple Injector作为我选择的IoC容器,但是我无法找到一个集成库,它将对Simple Injector的支持添加到MassTransit.

有没有人试过这个,让它工作,有一些代码可以让我开始?

Ste*_*ven 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();
}
Run Code Online (Sandbox Code Playgroud)