有什么方法可以从SendEndpoint发送消息以与参数Alternate-exchange交换吗?

时间:2018-12-24 11:24:43

标签: c# rabbitmq masstransit

我正在尝试使用ISendEnpoint.Send方法将消息发送到具有参数alternate-exchange的RabbitMq交换,但找不到任何方法来设置此参数的值。
如果未指定此参数,则会捕获此异常:

  

“ RabbitMQ.Client.Exceptions.OperationInterruptedException:AMQP   操作被中断:Peer发起的AMQP关闭原因,   代码= 406,文本=“ PRECONDITION_FAILED-不相等的arg   虚拟主机“ /”中交换“ target_queue”的“ alternate-exchange”:   没有收到任何东西,但当前是'norouted'值。”

如何指定此参数?

1 个答案:

答案 0 :(得分:0)

您可以修改消息的发布拓扑,以便目标交换指定备用交换和队列,以便将没有有效目标的已发布消息传递到备用。

https://github.com/MassTransit/MassTransit/blob/develop/src/MassTransit.RabbitMqTransport.Tests/AlternateExchange_Specs.cs