我已经创建了一个基本的演示pub / sub应用程序,该应用程序可通过MassTransit在localhost上运行。
我想要实现的是发布一条消息,并且all
订阅者应该收到该消息。目前,在我的环境中,我启动了一个发布者应用程序和两个订阅者应用程序。但是当我发布消息时,订阅者会依次收到消息。
我的发布/子代码:
发布:
var bus = Bus.Factory.CreateUsingRabbitMq(config => { config.Host(new Uri("rabbitmq://localhost/"), h => { }); config.ExchangeType = ExchangeType.Fanout; }); var busHandle = bus.Start(); bus.Publish<SomethingHappened>(message);
用户使用此代码:
var bus = Bus.Factory.CreateUsingRabbitMq(config =>
{
var host = config.Host(new Uri("rabbitmq://localhost/"), h => { });
config.ReceiveEndpoint(host, "MassTransitExample_Queue", e => e.Consumer<SomethingHappenedConsumer>());
});
var busHandle = bus.Start();
Console.ReadKey();
busHandle.Stop();
我已经创建了一个基本的演示pub / sub应用程序,该应用程序可通过MassTransit在localhost上运行。我要实现的是发布一条消息,所有订阅者都应该收到该消息。在...