У меня есть консольное приложение, которое запускает сервер RabbitMQ (как приложение, использующее файл rabbitmq-server.bat), а затем пытается создать очередь поверх него и начать прослушивание сообщений. Посредник запускается нормально, но как только я пытаюсь объявить очередь, я получаю исключение, сообщающее, что имя очереди не существует. Я немного запутался в этом, поскольку пытаюсь создать очередь и не знаю, почему она ищет существующую с таким именем.
Вот код, который я использую для запуска сервера:
var model = QueueModelFactory.CreateModel();
model.ExchangeDeclare(exchangeName, ExchangeType.Fanout, true);
model.QueueDeclare(QueueName, false, false, false, null);
model.QueueBind(QueueName, exchangeName, "");
var subscription = new Subscription(model, QueueName, false);
while (true)
{
var args = subscription.Next();
ProcessQueueItem(args.Body);
subscription.Ack(args);
}
Исключение происходит на линии вызовов QueueDeclare. Точное исключение, которое я получаю:
"Операция AMQP была прервана: причина закрытия AMQP, инициированная Peer, код = 404, текст =" NOT_FOUND - нет очереди 'FavorCompletions' в vhost '/' ", classId = 50, methodId = 10, причина = ».
В какой-то момент это сработало, а затем немного изменил код, чтобы он сломался. Я понятия не имею, что я делаю неправильно, так как все примеры приложений, кажется, делают то же самое.
Любая помощь будет оценена.