14

Ich weiß, dass es eine Möglichkeit gibt, die Anzahl der Nachrichten (oder die ungefähre Anzahl) in der Azure-Warteschlange (Store Account) zu ermitteln. Gibt es jedoch eine Möglichkeit, die Anzahl der ausstehenden Nachrichten in einer Azure Service Bus-Warteschlange abzufragen?Ermitteln, wie viele Nachrichten in der Azure Service Bus-Warteschlange enthalten sind

+0

Siehe auch http://stackoverflow.com/questions/18283583/azure-service-bus-queue-count – SteveC

Antwort

-2

Auch ... Sie können die ausstehenden Nachrichten auf Azure Management Portal ... auf dem Dashboard für Service-Bus-Warteschlange überprüfen ... unter kurzen Blick ... Sie können die Warteschlangenlänge sehen ... das ist die Anzahl der aktuelle/ausstehende Nachrichten in der Länge zum Zeitpunkt des Ladens der Dashboard-Seite.

+2

Sie können auch den Service-Bus-Explorer in Visual Studio verwenden (wenn Sie es haben) das sehen Eigenschaften jeder Entität für einen Namespace. – TheDude

21
var nsmgr = Microsoft.ServiceBus.NamespaceManager.CreateFromConnectionString(connectionString); 
long count = nsmgr.GetQueue(queueName).MessageCount; 
8

Es heißt MessagesCountDetails.ActiveMessageCount. Es gibt die Nummer der aktiven Nachrichten in der Warteschlange zurück. Sie haben wahrscheinlich einige unzustellbare Nachrichten:

var msg = Microsoft.ServiceBus.NamespaceManager.CreateFromConnectionString(Settings.Default.ConnectionString); 
numofmessages.Text = msg.GetQueue(QueueName).MessageCountDetails.ActiveMessageCount.ToString(); 
+0

Dieses Kind-Objekt (MessageCountDetails) hat alle Leckereien versteckt! Microsoft.ServiceBus.Messaging.QueueDescription qd = nsm.GetQueue (qName); int x = 0; x = qd.MessageCountDetails.ActiveMessageCount; x = qd.MessageCountDetails.DeadLetterMessageCount; x = qd.MessageCountDetails.ScheduledMessageCount; x = qd.MessageCountDetails.TransferDeadLetterMessageCount; x = qd.MessageCountDetails.TransferMessageCount; – granadaCoder

0

ich in das gleiche Problem lief versuchen, die Zählung von der Dead Letter Queue zu bekommen. Es sieht so aus, als ob die deadletterqueue es nicht erlaubt, direkt eine Zählung zu erhalten, Sie erhalten sie von den MessageCountDetails der normalen Queue.

string connectionString = ConfigurationManager.AppSettings["Microsoft.ServiceBus.Connstr"].ToString(); 
NamespaceManager nsmgr = Microsoft.ServiceBus.NamespaceManager.CreateFromConnectionString(connectionString); 
return nsmgr.GetQueue(QueueName).MessageCountDetails.DeadLetterMessageCount;