4

我正在审查.NET 的 MassTransit 分布式应用程序框架。根据该网站的说法, MassTransit 从一开始就构建了涉及 IoC 容器的概念,并为少数更“主流”的 IoC 容器提供支持库。(目前)有适用于 Autofac、StructureMap、Castle Windsor、Ninject 和 Unity 的 NuGet 包。

出于性能原因,我选择了Simple Injector作为我选择的 IoC 容器,但我无法找到一个集成库,可以为 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 回答