6 MassTransit 基于依赖注入容器的总线

安装包

MassTransit.Extensions.DependencyInjection

使用依赖注入容器生成总线

// 新建服务集合(DI容器)
IServiceCollection services = new ServiceCollection ();
services.AddMassTransit (config => {
    // 向 DI 注入 UpdateCustomerConsumer 消费者
    config.AddConsumer<UpdateCustomerConsumer> ();

    // 添加总线
    config.AddBus (service => {
        // 创建基于内存的总线
        var bus = Bus.Factory.CreateUsingInMemory (config => {
            // 设置接收队列,队列名 test_queue
            config.ReceiveEndpoint ("test_queue", ep => {
                // 添加消费者
                // 从 DI 中获取消费者
                ep.ConfigureConsumer<UpdateCustomerConsumer> (service);
            });
        });

        return bus;
    });
});

var serviceProvicer = services.BuildServiceProvider ();

var bus = serviceProvicer.GetService<IBusControl> ();

bus.Start ();

bus.Publish (new YourMessage ()).Wait ();

Console.WriteLine ("Press any key to exit");
Console.ReadKey ();

bus.Stop ();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值