4

所以我将一个项目从我的 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它总是返回空值。

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

4

1 回答 1

7

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

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

于 2016-05-03T08:23:19.347 回答