我有一个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,
原因=

最佳答案

当您声明具有不同参数的现有队列时,通常会得到该错误消息。在管理控制台中检查队列是否已经存在。如果是,请尝试删除它,然后重新运行代码。

09-30 15:32
查看更多