私は、読んでみたいメッセージのキューを持っています。 3通話が取得する第四の呼び出しに続いて、96件のメッセージを取得する「queue.GetMessages()」について説明する、この場合Azureは全体の待ち行列を "覗く"?
queue.FetchAttributes();
var orderCount = queue.ApproximateMessageCount;
while(orderCount > 0)
{
var messages = queue.GetMessages(32,TimeSpan.FromMinutes(1));
if (messages != null)
{
foreach (var item in messages)
{
Order singleOrder = new JavaScriptSerializer().Deserialize<Order>(item.AsString);
PendingOrders.Add(singleOrder);
}
}
queue.FetchAttributes();
orderCount = (messages == null) ? 0 : queue.ApproximateMessageCount;
}
:100項目のキューに基づいて、次のコードを考えてみましょう残りの4.ループは終了し、アイテムのリストが返されます。 これを実行すると、同じ項目を何度も持ち上げている、つまり増分していないように見えます。アイテムを読んだときに一時的にキューから削除したという印象を受けましたか?だから私はメッセージを読むたびに、それは私のキューから一時的に削除されます - この場合、1分間。私はステップを逃したのですか? 1分後にアイテムを待ち行列に戻したいので、どこでも「DeQueue」を呼び出すわけではありません。