So senden Sie ein Element von meiner ASP.NET-Web-API an eine Azure-Speicherwarteschlange, und ich möchte dem Benutzer ein Feedback zur Position seines Elements in der Warteschlange geben sowie in der Lage, sie auf die Position ihres Artikels zu aktualisieren, wenn sie zurückkommen oder etwas Ähnliches.So erhalten Sie die Azure Storage Queue-Größe/Position
Nicht, dass es viel hat hier mit der Frage zu tun, aber das ist die Methode im mit dem Element in der Warteschlange zu platzieren
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);
Also ich um CloudQueueClient
und CloudQueue
gestoßen habe, aber alles konnte ich finden war CloudQueue.ApproximateMessageCount
, die immer null zurückgab.
Ich habe auch ein bisschen gegoogelt, wie das immer kommt mit Erste-Schritte-Guides, insbesondere darauf, wie ich gehen würde, um die Größe dann Position des Artikels in einer Warteschlange, so ist es überhaupt möglich?
Nun, das ist irgendwie saugt, aber zumindest da jedes Element in der Warteschlange die gleiche Zeit dauert zu verarbeiten und tatsächlich zu wissen, wie 'ApproximateMessageCount' funktioniert, kann ich einfach die Zeit abschätzen und das dem Benutzer zurückgeben, Vielen Dank – Toxicable
@Toxicable: es ist vor allem wegen der Art und Weise, wie verteilte Warteschlangen funktionieren - es gibt keine Garantie auf die Reihenfolge der Nachrichten. Es wird nah an first-in-first-out sein, aber möglicherweise nicht 100%, also kann man keine Zahl angeben, die die Position anzeigt, da es ein wenig unscharf ist. – porges
Ohh ich sehe, das macht Sinn. Ich wusste nicht, dass es eine verteilte Warteschlange war, die Sinn macht als, danke für das Löschen – Toxicable