c# - MassTransit 和简易喷油器

标签 c# inversion-of-control masstransit simple-injector

<分区>

我正在查看 MassTransit Distributed Application Framework for .NET .据网站MassTransit has been built from the beginning with the concept of an IoC container being involved并为少数更“主流”的 IoC 容器提供支持库。有(当前)可用于 Autofac、StructureMap、CaSTLe Windsor、Ninject 和 Unity 的 NuGet 包。

我选择了Simple Injector作为我选择的 IoC 容器 for performance reasons但我无法找到一个集成库,将对 Simple Injector 的支持添加到 MassTransit。

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

最佳答案

我对 MassTransit 不熟悉,但看了 the configuration examples for the other containers 之后,这就是我想出的:

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();
}

关于c# - MassTransit 和简易喷油器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14221571/

相关文章:

c# - 如何使用c#以管理员身份运行批处理文件来安装windows服务

c# - Dictionary of Dictionaries的扩展方法

c# - 从另一个项目 C# 调用类

java - Spring - 如何选择依赖bean的属性?

amazon-sqs - 带有 SQS/SNS 的大众交通。发布到SNS?

c# - 手动实例化的 SessionState 提供程序的问题

c# - Singleton 中具有 PerWebRequest 生活方式的对象

java - 获取 spring bean 的新实例

rabbitmq - 在 MassTransit 上动态创建队列

c# - 如何在 MassTransit 中进行消息拦截?