MassTransit 集成 Aspnet 样板

MassTransit integration Aspnetboilerplate

我想将 MassTransit 与 Aspnetboilerplate 项目集成,以使用 RabbitMQ 作为分布式事件总线。然后可能会考虑集成 Azure 服务总线。

我正在为如何创建一个简单的 Eventbus 并实现注册和订阅而苦苦挣扎。不幸的是,我找不到任何好的例子。

我可以毫无问题地使用 Aspnetboilerplate EventBus。下面是我希望实现的示例:

 // subscribe to an event
var ev  = EventBus.Register<T>(eventInfo =>
{
   // do something with evInfo.Data
}
ev.Dispose();


// publish and event
private readonly IEventBus _eventBus;
_eventBus.TriggerAsync(new T());

由于 LGPL 的许可限制,我不想使用 Abp 框架。我工作的公司不会在任何内部产品中接受此类许可

任何建议或任何实现类似内容的文章都会很棒。

更新 1 正如克里斯指出的那样,有很多很棒的视频和文档,很高兴看到一个很棒的图书馆。

虽然我似乎找不到任何关于如何实现通用消费者/请求客户端的文档。

// Example of a consumer
public class ManagerResultConsumer<T>: BaseConsumer<ManagerResult<T>>
{
    public override Task Consume(ConsumeContext<ManagerResult<T>> context)
    {
        return base.Consume(context);
    }
}

// configure the service / consumers and clients
services.AddMediator(configurator =>
{
    configurator.AddConsumer<SubmitOrderConsumer>();
    configurator.AddConsumer<ManagerResultConsumer<T>>();


    configurator.AddRequestClient<SubmitOrder>();
    configurator.AddRequestClient<ManagerResult<T>>();
});

我试图确保我在启动时没有注册很多具体的实现,类似于 SubmitOrder 和 SubmitOrderConsumer。

谢谢

我建议浏览 MassTransit's documentation, watching the myriad of YouTube videos, and checking out the samples 展示如何使用 MassTransit 构建应用程序。