【问题标题】:How to fetch an existing Exchange or Queue in EasyNetQ?如何在 EasyNetQ 中获取现有的 Exchange 或队列?
【发布时间】:2019-10-01 06:27:46
【问题描述】:

我正在使用 EasyNetQ,我想知道如何在不事先订阅的情况下获取现有的 IExchangeIQueue

IAdvanceBus我只能看到:

  • ExchangeDeclareAsync
  • QueueDeclareAsync

但我不确定这些是否会覆盖现有队列或同名交换?

另外,在尝试获取/声明之前,我如何确定该队列或交换存在?

【问题讨论】:

    标签: c# .net-core rabbitmq easynetq


    【解决方案1】:

    如果您在 RabbitMQ 中激活了管理插件,您可以使用 EasyNetQ 的客户端作为管理 API。 Documentation.

    例如:

    var queues = managementClient.GetQueues();
    
    foreach (Queue queue in queues)
    {
        Console.Out.WriteLine("queue.Name = {0}", queue.Name);
    }
    

    但是,如果您重新声明队列或交换,则不会覆盖它。什么都没有发生。

    【讨论】:

      猜你喜欢
      • 2015-07-31
      • 2011-01-08
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-18
      • 2020-03-11
      • 1970-01-01
      相关资源
      最近更新 更多