好的,我有一个用于管理Azure云队列消息的类,插入运行得很好:
public async void Insert(string message)
{
await Queue.AddMessageAsync(new CloudQueueMessage(message));
}注意,这个Queue是一个CloudQueue实例。

这是使用上述方法插入存储中的消息。
但是,当试图获取或Peek消息时,一种奇怪的行为正在发生,我无法阅读任何内容:

消息的内容正在抛出异常,并以null的形式返回。

这是messageCount值。
以下是用于检索消息的文本方法:
public async Task<List<string>> GetMessages()
{
var list = new List<string>();
await Queue.FetchAttributesAsync();
int messageCount = Queue.ApproximateMessageCount ?? 0;
if (messageCount == 0) return list;
foreach (var msg in await Queue.GetMessagesAsync(messageCount))
{
list.Add(msg.AsString);
}
return list;
}编辑:,我检查了已批准的答案中指出的内容,并发现我使用的是一个似乎不再起作用的弃用包。

此库已被拆分成多个部分,并已不再推荐。
我必须使用最新的API并修改我的代码,它实际上更容易使用,但是需要进行某种重做。它现在正在工作,在这个新版本(.NET v12)中使用队列的方法是记录在这里。
发布于 2020-07-15 15:56:43
我相信它与错误的(遗留的) Nuget套餐有关。最近我遇到了这样一个问题,当我升级到以下软件包时,这个问题得到了解决:
Install-Package Microsoft.Azure.Storage.Common -Version 11.1.7
Install-Package Microsoft.Azure.Storage.Queue -Version 11.1.7https://www.nuget.org/packages/Microsoft.Azure.Storage.Queue/
https://www.nuget.org/packages/Microsoft.Azure.Storage.Common/
发布于 2020-07-23 06:41:36
我也面临着这个问题。你应该更新你所有的软件包到他们的最新版本,它将运行良好。
https://stackoverflow.com/questions/62918338
复制相似问题