2016-02-29 80 views
0

当我尝试从本地存储队列中检索邮件时,我遇到了一些难以解释的怪异情况。我相当确定这不会发生在使用实际Azure队列的生产中。CloudQueueMessage.GetMessagesAsync挂起,同步版本不挂载

的特别造成这个问题行是:

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

您是否正在调用'Result'或'Wait'进一步调用堆栈? –

+0

你是指那个返回的任务吗?我以为等待任务意味着你不必打电话给结果。或者你的意思是别的吗? –

+1

你完全*应该*使用'await' - 一路向上。我想知道如果你的本地代码有一个'Result'或'Wait',它不在你的生产代码中。 –

回答