如何获取Azure存储队列大小/位置

Tox*_*ble 3 c# azure azure-storage azure-storage-queues

所以我将一个项目从我的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);
Run Code Online (Sandbox Code Playgroud)

所以我一直在探索CloudQueueClient,CloudQueue但我能找到的CloudQueue.ApproximateMessageCount总是返回null.

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

por*_*ges 6

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

对于近似消息计数,您必须在检索值之前FetchAttributesFetchAttributesAsync之前调用.这将填充ApproximateMessageCount队列中的实际值.