Использование метода Receive()
в цикле while, как вы, приведет к тому, что ваш код будет выполняться бесконечно, когда очередь пуста, так как метод Receive()
будет ожидать появления другого сообщения в очереди.
Если вы хотите, чтобы это запускалось автоматически, попробуйте использовать метод Peek()
.
Например:
while (queueClient.Peek() != null)
{
var brokeredMessage = queueClient.Receive();
brokeredMessage.Complete();
}
Вы можете снова упростить это с ReceiveMode.ReceiveAndDelete
, как былоупомянутый hocho.