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,我从管理面板中删除了它的手册。但是,在生产中,这个队列也被删除了(不是手动的),为什么在生产中要删除这个队列?通常,您不需要删除它们。