Если вы хотите сделать это в .Net, проверьте, какую версию клиентской библиотеки вы используете.
Я использую версию 2.2.0 , и мне пришлось использовать BasicGet (queue, noAck).
В этой версии библиотеки QueueDeclare () возвращает только строку, содержащую имя очереди.
BasicGetResult result = channel.BasicGet("QueueName", false);
uint count = result != null ? result.MessageCount : 0;
Я знаю, что из 2.6.1 версии QueueDeclare () возвращает объект типа QueueDeclareOk.
QueueDeclareOk result = channel.QueueDeclare();
uint count = result.MessageCount;
Кроме того, вы можете позвонить из командной строки:
<InstallPathToRabbitMq>\sbin\rabbitmqctl.bat list_queues
И вы видите следующий вывод:
Список очередей ...
QueueName 1
... выполнено.
НТН