我是Azure Service Bus的新手,并且刚刚遵循下面链接中的MS指南,以运行2个.NET Core控制台应用程序。一个作为发送者,另一个作为接收者/消费者。
我现在需要的是弄清楚如何配置.NET Core MVC Web应用程序,以从队列接收消息。
最终,我想要的最终结果是2个.NET Core MVC Web应用程序,它们既可以将消息添加到队列中,又可以接收队列外的消息。一个网站可能会在另一网站的队列中添加一条消息,并且在该网站提取/使用该消息时,可能需要将消息发送回原始网站。
我可以在Web应用程序中使用它的“添加到队列”端(因为这将在用户发生某些事件时发生),但是我对接收器/消费者端感到困惑。如何配置Web应用程序以(尽快)提取到达特定服务总线队列中的所有消息以进行处理?
答案 0 :(得分:0)
我建议看一下eShopOnContainers - Microservices Architecture and Containers based Reference Application GitHub项目并从那里开始。他们为此实现了一个小框架(请参阅项目内部的 Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus )。
这是Catalog Service内部的样子:
protected virtual void ConfigureEventBus(IApplicationBuilder app)
{
var eventBus = app.ApplicationServices.GetRequiredService<IEventBus>();
eventBus.Subscribe<OrderStatusChangedToAwaitingValidationIntegrationEvent, OrderStatusChangedToAwaitingValidationIntegrationEventHandler>();
eventBus.Subscribe<OrderStatusChangedToPaidIntegrationEvent, OrderStatusChangedToPaidIntegrationEventHandler>();
}
答案 1 :(得分:0)
我认为这个git项目可以给您一个想法。
它有2个Web应用程序-一个是生产者,一个是消费者。在消费者中,您将看到侦听器的注册位置。