C# 如何知道队列已被删除?
我创建一个队列:C# 如何知道队列已被删除?,c#,rabbitmq,C#,Rabbitmq,我创建一个队列: _channel = rmqConnection.CreateModel(); _channel.QueueDeclare("myqueue", false, false, false, null); _channel.BasicAcks += _channel_BasicAcks; _channel.BasicNacks += _channel_BasicNacks; _channel.Basic
_channel = rmqConnection.CreateModel();
_channel.QueueDeclare("myqueue", false, false, false, null);
_channel.BasicAcks += _channel_BasicAcks;
_channel.BasicNacks += _channel_BasicNacks;
_channel.BasicRecoverOk += _channel_BasicRecoverOk;
_channel.BasicReturn += _channel_BasicReturn;
_channel.CallbackException += _channel_CallbackException;
_channel.FlowControl += _channel_FlowControl;
_channel.ModelShutdown += _channel_ModelShutdown;
然后我想订阅队列何时(和是否)移除的事件。
所以,当我为测试手动删除队列时:我无法处理事件
如何处理队列删除\销毁事件
补充:添加一些新代码:
var consumer = new EventingBasicConsumer(_channel);
consumer.Received += OnMessageRecieved;
consumer.ConsumerCancelled += Consumer_ConsumerCancelled;
consumer.Registered += Consumer_Registered;
consumer.Shutdown += Consumer_Shutdown;
consumer.Unregistered += Consumer_Unregistered;
_channel.BasicConsume(SharebleConst.RmqQueueName, false, consumer);
创建队列时,Consumer\u registed
上升。
当我删除队列时,
Consumer\u ConsumerCancelled
上升如果队列被删除,有一种方法可以得到通知
您可以实现自己的工具来实现这一点,使用通知交换,并在每次创建或销毁队列时发送消息
或者在genral中,发送更改状态的消息只是好奇:你需要这个做什么?队列在哪里被破坏?@Rainman,我从管理面板中删除了它的手册。但是,在生产中,这个队列也被删除了(不是手动的),为什么在生产中要删除这个队列?通常,您不需要删除它们。