C# 更正在RabbitMQ中捕获exchange的内容

C# 更正在RabbitMQ中捕获exchange的内容,c#,rabbitmq,C#,Rabbitmq,根据教程,我使用var consumer=neweventingbasicconsumer(通道)在队列上注册消息 但我注意到,如果exchange被删除(强制使用API),或者通过停止rabbit,我实际上不会收到任何错误通知 var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var body = ea.Body; var message = E

根据教程,我使用
var consumer=neweventingbasicconsumer(通道)
在队列上注册消息

但我注意到,如果exchange被删除(强制使用API),或者通过停止rabbit,我实际上不会收到任何错误通知

var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, ea) =>
{
    var body = ea.Body;
    var message = Encoding.UTF8.GetString(body);
    Console.WriteLine(" [x] Received {0}", message);
};

我可以注册哪些事件来说明exchange是否/何时被删除,或者我是否因任何原因被断开连接?

如果exchange被删除,则没有任何问题。由于您的消费者从队列中消费,因此唯一的结果是不再有消息从该交换机路由到该队列


这与消费者与队列断开连接或删除队列不同,后者将导致消费者断开连接。请检查您的消费者可以为此类情况实施的检查和其他方法。

对不起,我不确定是否理解您的答案。我对删除exchange/queue/Rabbit没有任何问题。我的问题是,如何判断exchange/队列是否已被删除,在删除exchange/队列时不会触发任何事件。