В нашем проекте мы используем очередь служебной шины. Нам нужна функция для удаления всех сообщений из очереди, когда администратор решит очистить очередь. Я искал в сети, но не смог найти никакой функции, которая делает это внутри класса QueueClient
.
Должен ли я извлекать все сообщения одно за другим, а затем помечать их как завершенные, чтобы очистить очередь, или есть лучший способ?
QueueClient queueClient = _messagingFactory.CreateQueueClient(
queueName, ReceiveMode.PeekLock);
BrokeredMessage brokeredMessage = queueClient.Receive();
while (brokeredMessage != null )
{
brokeredMessage.Complete();
brokeredMessage = queueClient.Receive();
}