1

我正在尝试通过 easynetQ 使用基于主题的路由。在我的设置中,我有 3 个队列(“AB”、“AC”、“BC”)并交换“ex”。所有三个队列都使用路由键“AB”、“AC”、“BC”连接到“ex”。

下面是我的代码。

       var bus = RabbitHutch.CreateBus(MQConnectionString).Advanced;
        var exchange = Exchange.DeclareTopic("ex");

        using (var publishChannel = bus.OpenPublishChannel())
        {
            Message pat = new Message();
            while (i++ < 10)
            {
                pat.Name = "Vamsee-" + i;
                pat.ID = Guid.NewGuid().ToString();
                if(i%3==0)
                publishChannel.Publish(exchange, "A.*", new Message<Message>(pat));
                else
                publishChannel.Publish(exchange, "A.C", new Message<Message>(pat));
            }
        }

在这里,当我的代码发布到 "A. " 时,消息不会发送到所有(或)任何队列。我也试过“ .*”、“#”

请建议

谢谢 Vamsee

4

1 回答 1

1

你有这个错误的方式。您需要使用完整的路由密钥发布每条消息。队列可以使用通配符或特定的绑定键绑定,以便接收正确的消息。如果您包含消费者的代码,则可能更容易更准确地诊断问题

于 2013-06-23T07:09:36.190 回答