如果我的问题很愚蠢,很抱歉,我是新来MassTransit的。
我的系统由一个服务器和多个客户端设备组成。我想从服务器向特定的客户端或一组客户端发送消息。据我所知,IBusControl.Publish
将消息发送给所有订阅者,而IBusControl.Send
将消息发送给唯一的订阅者。
如何使用MassTransit实现这一点?我的传输是RabbitMQ / Azure服务总线。
谢谢!
发布于 2019-03-13 06:59:57
MassTransit实现了标准的消息传递模式,这些模式并不是特定于批量运输的。点对点、发布订阅、无效消息通道、死信通道等:
您确实可以选择是使用Send
向一个消费者发送消息,还是使用Publish
向该消息类型的所有订阅者广播消息。
其他所有事情都可以通过向消费者添加代码来轻松完成:
await bus.Publish(new MyMessage { ReceiverGroup = "group1", ... });
和
public async Task Consume(IContext<MyMessage> context)
{
if (context.Message.ReceiverGroup != myGroup) return;
...
}
https://stackoverflow.com/questions/55134113
复制