Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RabbitMQ中的使用者计数(使用exchange)_C#_.net_Rabbitmq_Amqp - Fatal编程技术网

C# RabbitMQ中的使用者计数(使用exchange)

C# RabbitMQ中的使用者计数(使用exchange),c#,.net,rabbitmq,amqp,C#,.net,Rabbitmq,Amqp,如果我在RabbitMQ中不使用exchange,我可以获得消费者的数量: channel.QueueDeclare(queue: "Sellers", durable: false, exclusive: false, autoDelete: false, arguments: null); int sellersCount

如果我在RabbitMQ中不使用exchange,我可以获得消费者的数量:

channel.QueueDeclare(queue: "Sellers",
                     durable: false,
                     exclusive: false,
                     autoDelete: false,
                     arguments: null);

int sellersCount = channel.ConsumerCount("Sellers");
如何使用exchange检测消费者计数:

channel.ExchangeDeclare(exchange: "Shop",
                        type: "direct");

channel.BasicPublish(exchange: "Shop",
                     routingKey: "Sellers",
                     basicProperties: null,
                     body: body1);

channel.BasicPublish(exchange: "Shop",
                     routingKey: "Clients",
                     basicProperties: null,
                     body: body2);

int sellersCount = ???
int clientsCount = ???
要详细说明的是,这里是。尝试
GET/api/exchanges/vhost/name/bindings/source

以给定交换为源的所有绑定的列表


请注意,关于此解决方案也有一些答案。

没有交换的消费者数量。Exchange将邮件路由到一个或多个队列。我可以从Exchange获取队列对象吗?我可以通过队列名称获得消费者的数量。但我不知道如何从exchangeI获取队列名称我认为没有办法通过amqp协议本身实现这一点。不过,rabbitmq有一个管理插件,该插件具有http api。使用该api,您可能能够在当前时刻将队列绑定到特定的exchange。尽管我必须承认,您需要这样做的事实可能表明您的设计中存在一些缺陷,因为您不应该这样做。你能澄清一下你想解决的实际问题吗?我需要知道卖家的数量。如果卖家数量等于0,我会为客户显示:“无在线卖家”。