在尝试从本地存储队列中检索邮件时,我遇到了一些难以解释的问题。我很确定使用实际的Azure队列在生产中不会发生这种情况。
特别导致此问题的一行是:
msgs = await priorityQueue.GetMessagesAsync(Settings.NumberOfMessagesToGet, visibilityTimeSpan, null, null);
哪个什么都不做,似乎永远不会回来。但是,将其替换为:
msgs = priorityQueue.GetMessages(Settings.NumberOfMessagesToGet, visibilityTimeSpan, null, null);
一旦完成就返回,看起来很好。
我在这里使用await吗?任何想法为什么这不起作用?
我正在使用Windows Azure SDK 2.8和Windows Azure存储模拟器4.2.0.0,以防它提供任何线索。
答案 0 :(得分:0)
GitHub上的Azure存储队列示例演示了如何在控制台应用程序中使用与.NET客户端库的异步模式:
https://github.com/Azure-Samples/storage-queue-dotnet-getting-started
请注意,在程序的顶层,"等待()"方法用于:
ProcessBatchOfMessagesAsync(queue).Wait();