Es ist sehr schwierig, eine gute Dokumentation über das Abrufen aller Nachrichten in einer Deadletter-Warteschlange zu finden und einen Blick darauf zu werfen. Ich habe eine Azure Service-Bus-Warteschlange. Alles, was ich finden kann, ist für Service-Bus-Themen ... Kann mir jemand mit einer Kurzanleitung helfen?So sehen Sie die Deadletter-Nachrichten
0
A
Antwort
3
Die Warteschlange für unzustellbare Nachrichten ist eine sekundäre Unterwarteschlange, in die die Giftnachrichten verschoben werden. Im Falle einer azure Service Bus Queue ist der Standardpfad für DLQ queuePath/$ DeadLetterQueue. Sie müssen also einen anderen Queueclient haben, um diese DLQ zu lesen.
Und Sie werden so etwas in. NET-Clients tun.
string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString");
QueueClient Client = QueueClient.CreateFromConnectionString(connectionString, "QueueName");
// do whatever regular queue reading activities
// this is for dead letter queue
QueueClient deadLetterClient = QueueClient.CreateFromConnectionString(connectionString, QueueClient.FormatDeadLetterPath(Client.Path), ReceiveMode.ReceiveAndDelete);
BrokeredMessage receivedDeadLetterMessage;
while ((receivedDeadLetterMessage = deadLetterClient.Receive(TimeSpan.FromSeconds(10))) != null)
{
Console.WriteLine(receivedDeadLetterMessage);
}
0
string connectionString = ConfigurationManager.AppSettings["connectionString"];
string queueName = ConfigurationManager.AppSettings["queueName"];
ServiceBusConnectionStringBuilder builder = new ServiceBusConnectionStringBuilder(connectionString);
MessagingFactory factory = MessagingFactory.CreateFromConnectionString(builder.ToString());
var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
string deadLetterQueuePath = QueueClient.FormatDeadLetterPath(queueName);
QueueClient deadletterQueueClient = factory.CreateQueueClient(deadLetterQueuePath);
while (true)
{
BrokeredMessage brokeredMessage = deadletterQueueClient.Receive();
// Your Logic
}
0
Hier ist ein Beispiel dafür, wie Sie eine Liste aller Nachrichten in der Warteschlange für unzustellbare mit Peek zu bekommen:
public async Task<IEnumerable<BrokeredMessage>> GetDeadLetterMessagesAsync(string connectionString,
string queueName)
{
var queue = QueueClient.CreateFromConnectionString(connectionString, QueueClient.FormatDeadLetterPath(queueName));
var messageList = new List<BrokeredMessage>();
BrokeredMessage message;
do
{
message = await queue.PeekAsync();
if (message != null)
{
messageList.Add(message);
}
} while (message != null);
return messageList;
}
Verwandte Themen
- 1. So sehen Sie die Wanduhrzeit in Visual Studio Profiler
- 2. So sehen Sie Speicherplatz Geschichte - Nagios Core
- 3. So sehen Sie, was der Browser sendet
- 4. Wie sehen Sie die Daten einer Variablen?
- 5. Xcode 4: Wie sehen Sie die Konsole?
- 6. So sehen Sie den Inhalt der Prüfbedingung für Oracle
- 7. So sehen Sie das aktuelle Arbeitsverzeichnis in WinGHCi
- 8. So lassen Sie den Administrator bestimmte Schaltflächen sehen
- 9. So sehen Sie Set/Get/in Redis Log
- 10. So sehen Sie die HTML-Berichte, die Gradle in Jenkins generiert
- 11. So sehen Sie nicht getrimmte Protokolle auf Heroku Local
- 12. So sehen Sie zugewiesene Visual Studio-Verknüpfungen mit gegebenem Präfix
- 13. So sehen Sie Commit-Nachricht von Docker Bilder
- 14. So sehen Sie das Schema einer db2-Tabelle (Datei)
- 15. So sehen Sie eine Liste der laufenden Prozesse in PowerShell
- 16. So sehen Sie den Schlüsselbund für iPhone Simulator
- 17. So sehen Sie, ob der Tomcat läuft oder nicht
- 18. So sehen Sie den Rest des Bildschirms Visual Studio Telefon
- 19. So sehen Sie den Inhalt der Windows-Bibliothek (* .lib)
- 20. So überprüfen Sie die Anrufliste
- 21. So sehen Sie die aktuell optimierte SQL-Abfrage in einer Datenbank
- 22. So sehen Sie die Dateien in der Änderungsliste mit der Befehlszeile
- 23. C# - Wie kann man die MySQL-Verbindungszeichenfolge sicher speichern, so dass niemand sie sehen kann?
- 24. So sehen Sie tatsächliche HIVE-Abfragen, die hinter YARN-Anwendungen in Ambari ausgeführt werden
- 25. So sehen Sie die tatsächliche Abfrage eines Oracle-Berichts, der einen Fehler enthält
- 26. Sehen Sie, was sp_execute macht
- 27. Sehen Sie mehr von Kommentar
- 28. ich die Tasten sehen können, aber nicht sehen können Karten
- 29. So erhalten Sie die PIDL eines IShellFolder
- 30. Erteilen Sie die Erlaubnis, nur eine Ansicht zu sehen
Aber ich habe wirklich keine Ahnung, was der topicPath ist? Da dies eine Warteschlange und kein Thema ist? –
Entschuldigung. Ich habe den Code mit dem Warteschlangenclient aktualisiert. Aus irgendeinem Grund dachte ich, du hättest nach Themen und Subs gefragt. – Aravind
Hmm das mir die folgende Fehlermeldung, wenn es um die while-Schleife kommt: Eine nicht behandelte Ausnahme des Typs ‚System.UnauthorizedAccessException‘ aufgetreten in Microsoft.ServiceBus.dll Zusätzliche Informationen: 40103: Ungültige Autorisierungs-Token Unterschrift, Dank obwohl ! –