我有一个启动RabbitMQ服务器(作为使用rabbitmq-server.bat文件的应用程序)的控制台应用程序,然后尝试在它上面创建一个队列并开始收听消息。代理启动正常,但是一旦我尝试声明队列,我会得到一个异常,指出队列名称不存在。我有点困惑,因为我试图创建队列,不知道为什么它正在寻找一个现有的名称。用C#库创建RabbitMQ服务器的例外
下面是我使用的运行服务器的代码:
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,text =”NOT_FOUND - 无队列'FavorCompletions'in vhost'/'“,classId = 50,methodId = 10,cause =“。
我曾在一点工作,然后重构一些代码只是为了让它休息。我不知道我做错了什么,因为所有示例应用程序似乎都做了完全相同的事情。
任何帮助,将不胜感激。
不知道它为什么失败,但作为一种解决方法,您可以使用代理的管理页面手动声明和绑定队列,并将其从代码中移除。 – 2011-03-24 05:11:49
仍然有这个问题?或放弃/继续? – 2011-05-28 01:06:57