Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果处理失败,Rabbitmq将消息移动到其他队列_C#_.net_Rabbitmq_Amqp - Fatal编程技术网

C# 如果处理失败,Rabbitmq将消息移动到其他队列

C# 如果处理失败,Rabbitmq将消息移动到其他队列,c#,.net,rabbitmq,amqp,C#,.net,Rabbitmq,Amqp,我正在使用RabbitMq.net和消息确认。如果消费者能够处理该消息,我们可以以 channel.BasicAck(ea.DeliveryTag, false); 这将使它不再排队。如果反序列化有问题,我想将消息移动到“错误队列” var message = JsonConvert.DeserializeObject<object>(json); var message=JsonConvert.DeserializeObject(json); 我尝试过使用“x-dead-le

我正在使用RabbitMq.net和消息确认。如果消费者能够处理该消息,我们可以以

channel.BasicAck(ea.DeliveryTag, false);
这将使它不再排队。如果反序列化有问题,我想将消息移动到“错误队列”

var message = JsonConvert.DeserializeObject<object>(json);
var message=JsonConvert.DeserializeObject(json);

我尝试过使用“x-dead-letter-exchange”,但它取决于“x-message-ttl”时间设置。我只想在处理失败时将消息移动到错误队列。如何实现这一功能?我在网上找不到任何帮助

如果您的消费者使用
basic.reject
basic.nack
requeue
标志设置为
false
,则RabbitMQ会将消息重新发布到死信交换机。这是

以下是在RabbitMQ.NET 3.6.10客户端中拒绝或nack消息的函数:


死信交换是您问题的解决方案。