MassTransit RabbitMq 消息集成命令与事件发布

一.MassTransit 

  MassTransit 是一个免费开源轻量级的.net平台下的消息总线系统。我们将介绍如果使用MassTransit集成我们系统中的事件与命令。项目地址:https://github.com/MassTransit/MassTransit。本文使用一次简单的下订单模拟命令与事件,并通过MassTransit 进行集成。

二.消息产生

  客户端通过下订单的动作产生一条placeorder命令,系统处理命令的同时产生一条ordercreated事件。

三.项目

  项目的目录结构如下图:

    

一个事件处理器,一个命令处理器,web为客户端,message定义命令与事件。

 

  MassTransit 通过autofac 注入,nuget添加autofac、MassTransit 、MassTransit.RabbitMQ的程序包

asp.net core mvc的注入配置如下:

  

 public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            var builder = new ContainerBuilder();

            builder.Register(c =>
            {
                return Bus.Factory.CreateUsingRabbitMq(sbc =>
                    sbc.Host("localhost", "/", h =>
                    {
                        h.Username("guest");
                        h.Password("guest");
                    })
                );
            })
            .As<IBusControl>()
            .As<IBus>()
            .As<IPublishEndpoint>()
            .As<ISendEndpointProvider>()
            .SingleInstance();
            builder.Populate(services);
            container = builder.Build();


            return new AutofacServiceProvider(container);

        }

 

下载地址

 

转载于:https://www.cnblogs.com/RunStone/p/9896582.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值