如何获取 Azure 存储队列 size/position

How to get Azure Storage Queue size/position

所以我将一个项目从我的 ASP.NET Web API 发送到 Azure 存储队列,我想向用户提供一些关于他们的项目在队列中的位置的反馈如果他们回来或类似的事情,能够更新他们的项目位置。

这与这里的问题没有多大关系,但这是我用来将项目放入队列的方法

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigHelper.GetAzureStorage());
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

CloudQueue queue = queueClient.GetQueueReference("my-queue");
await queue.CreateIfNotExistsAsync();

var messageJson = JsonConvert.SerializeObject(item);
CloudQueueMessage cloudQueueMessage = new CloudQueueMessage(messageJson);

await queue.AddMessageAsync(cloudQueueMessage);

所以我查了一下 CloudQueueClientCloudQueue,但我能找到的只是 CloudQueue.ApproximateMessageCount,它总是返回 null。

我也尝试了一些谷歌搜索如何总是出现入门指南,特别注意我将如何获得队列中项目的大小和位置,所以它甚至可能?

无法获取项目在队列中的位置。

对于大概的消息计数,您必须在检索值之前调用 FetchAttributes or FetchAttributesAsync。这将使用队列中的实际值填充 ApproximateMessageCount