此处的工作队列示例:
https://www.rabbitmq.com/tutorials/tutorial-two-dotnet.html
在工作队列方案中,为什么要将消息发布到队列而不是Exchange?
channel.BasicPublish(exchange: "",
routingKey: "task_queue",
basicProperties: properties,
body: body);
答案 0 :(得分:0)
因为当您将路由密钥提供给“” - 无名交换(因此您实际上总是发布到交换机)时,该路由密钥“实际上”是队列名称。 以下是tutorial 3的引用:
无名交换
在本教程的前几部分中,我们对交换一无所知,但是 仍然能够向队列发送消息。这是可能的,因为 我们使用默认交换,我们通过空进行识别 string(“”)。
回想一下我们之前是如何发布消息的:
{{1}}
第一个参数是交易所的名称。空字符串表示默认或无名交换:消息被路由到队列,其名称由 routingKey,如果它存在。