2013-01-19 2 views
5

2.8.2 RabbitMQ Server와 2.8.2 클라이언트 DLL이 있고 대기열을 선언하고 메시지를받는 코드가 있고,예외 .NET 클라이언트 프로그래밍에서 'AMQP 작업이 중단되었습니다'(코드 = 406) 발생

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 닫기 이유 피어, 코드 = 406, 텍스트 = "PRECONDITION_FAILED - 매개 변수 "큐 '172.16.1.1' '/'동일하지 가상 호스트에 대한, CLASSID = 50, methodId = 10, 원인 =

답변

16

서로 다른과 기존의 큐를 다시 선언 할 때 당신은 일반적으로 해당 오류 메시지가 매개 변수. 큐가 이미 있는지 보려면 관리 콘솔을 검사하십시오. 그렇다면 삭제 한 다음 코드를 다시 실행하십시오.