.NET 客户端编程中出现异常“AMQP 操作被中断"(代码 = 406)

Exception #39;The AMQP operation was interrupted#39; (code=406) occurs in .NET Client programming(.NET 客户端编程中出现异常“AMQP 操作被中断(代码 = 406))

本文介绍了.NET 客户端编程中出现异常“AMQP 操作被中断"(代码 = 406)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 2.8.2 RabbitMQ 服务器和一个 2.8.2 客户端 dll,有声明队列和获取消息的代码,它工作正常(所有参数都正确):

I have a 2.8.2 RabbitMQ Server and a 2.8.2 client dll, have the code to declare a queue and get a message, it works correctly (all parameters are correct):

IModel channel=null;

ConnectionFactory factory = new ConnectionFactory ();
factory.HostName = "192.168.68.4";
_QueueName = "172.16.1.1";

factory.UserName = "guest";
factory.Password = "guest";
factory.VirtualHost = "/";

factory.RequestedHeartbeat = 30;

if (factory.Endpoint == null) {
    Console.WriteLine (" factory.Endpoint==null ");
}


// 接受消息的队列名称是本地的IP地址
_QueueName = "172.16.1.1";
_RMQConnection = factory.CreateConnection ();

Console.WriteLine ("factory.CreateConnection()");

channel = _RMQConnection.CreateModel ();

channel.QueueDeclare(_QueueName, false, false,false,null);

但是当我下载 3.0.1 RabbitMQ 服务器和一个 3.0.1 客户端 dll 时,我使用相同的代码并出现异常:

But when I download 3.0.1 RabbitMQ Server and a 3.0.1 client dll, I use the same code and have the exception:

AMQP 操作被中断:AMQP 关闭原因,由Peer, code=406, text="PRECONDITION_FAILED - 队列参数vhost '/' 中的 '172.16.1.1' 不等效",classId=50,methodId=10,原因=

The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=406, text="PRECONDITION_FAILED - parameters for queue '172.16.1.1' in vhost '/' not equivalent", classId=50, methodId=10, cause=

推荐答案

当您使用不同的参数重新声明现有队列时,通常会收到该错误消息.检查管理控制台以查看队列是否已存在.如果是,请尝试将其删除,然后重新运行您的代码.

You typically get that error message when you re-declare an existing queue with different parameters. Check in the management console to see if the queue already exists. If it does, try deleting it and then re-running your code.

这篇关于.NET 客户端编程中出现异常“AMQP 操作被中断"(代码 = 406)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:.NET 客户端编程中出现异常“AMQP 操作被中断"(代码 = 406)

基础教程推荐