我有一个2.8.2 rabbitmq服务器和一个2.8.2客户端dll,有声明队列和获取消息的代码,它工作正常(所有参数都正确):
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时,我使用相同的代码并出现异常:
AMQP操作被中断:AMQP关闭原因,由启动
peer,code=406,text=“precondition_failed-队列参数
“172.16.1.1”(在vhost中)/“不等效”,classid=50,methodid=10,
原因=
最佳答案
当您声明具有不同参数的现有队列时,通常会得到该错误消息。在管理控制台中检查队列是否已经存在。如果是,请尝试删除它,然后重新运行代码。