2016-05-18 2 views
3

Название довольно подробно объясняет мой вопрос:Почему свойство ApproximateMessageCount в очереди Azure Storage равно нулю?

Если в очереди хранения нет сообщений, почему бы это не просто вернуть 0, если предположить, что мы смогли получить ссылку на очередь и установить соединение? Вместо этого он возвращает null.

Это связано с тем, что количество сообщений «приблизительное»? Любопытно, больше всего на свете.

+1

Действительно хороший вопрос, это то, что я искал, чтобы узнать. Сейчас я делаю рытье :) –

ответ

3

Приблизительный номер сообщения начинается с null, чтобы указать, что он не был инициализирован. После первого вызова FetchAttributes он заполняется текущим значением из службы. Если в этой точке нет сообщений в очереди, то возвращаемое значение равно нулю.

+0

Очень интересно ... Спасибо за головы. Какая-либо особая причина, по которой необходим вызов 'FetchAttributes'? Предполагая, что это было архитектурное решение? –

+0

Мы предпочитаем, чтобы служебные вызовы были явными - FetchAttributes отправляет запрос на провод и получает метаданные очереди и прибл. сообщение количество. Мы решили избежать такой (относительно) тяжелой операции на газопоглотителе имущества. –

+0

Хорошо - круто. Спасибо за совет! –