/ / Ist es möglich, alle in einem Azure Servicebus-Thema enthaltenen Nachrichten in eine App zu übertragen? - c #, .net, azurblau, azureservicebus

Ist es möglich, alle in einem Azure Servicebus-Thema enthaltenen Nachrichten in eine App zu übertragen? - c #, .net, azurblau, azureservicebus

Die einzige Methode, die ich sehe, um Nachrichten von einem Thema zu ziehen, ist SubscriptionClient.OnMessage (), die anscheinend nur dann ausgelöst wird, wenn das Thema eine neue Nachricht erhält.

Warteschlangen haben zu diesem Zweck die QueueClient.Receive () -Methode, aber Themen scheinen diese Fähigkeit nicht zu haben.

Fehle ich etwas?

Antworten:

1 für die Antwort № 1

Erstens, wie Sean Feldman sagte, Nachrichten werden nicht direkt vom Thema empfangen. Außerdem, wenn Sie empfangen und verarbeiten möchtenBei allen Nachrichten können Sie eine Subskription mit dem Standardfilter (MatchAll) erstellen, der alle veröffentlichten Nachrichten zum Thema in der virtuellen Warteschlange der Subskription speichert. Anschließend können Sie Nachrichten von dieser Subskription in Ihrer Anwendung empfangen und verarbeiten. Dieser Artikel beschreibt, wie Sie Service Bus Themen und Abonnements mit Beispielen verwenden können, beziehen Sie sich bitte darauf.

Bitte denken Sie gegebenenfalls daran, die unzustellbaren Nachrichten zu überprüfen und zu verarbeiten.


0 für die Antwort № 2

Nachrichten können nicht von einem Thema empfangen werden, sondern nur an. Das Thema wird in Konjunktionen mit Abonnements verwendet, um Nachrichten zu empfangen.

Warteschlangen und Abonnements Unterstützung von OnMessage API. Dies wird jedoch nicht alle Nachrichten ausgeben, sondern stattdessen eine Nachricht zu einer Zeit X der Gleichzeitigkeitsebene geben, die Sie einstellen OnMessageOptions.

Ein alternativer Ansatz wäre das Empfangen von Chargen (siehe ReceiveBatchAsync(Int32, TimeSpan)). Dadurch können Sie mehr als eine Nachricht verarbeiten, wenn Sie diese benötigen.


0 für die Antwort № 3

Sieht aus wie SubscriptionClient.OnMessage() geht tatsächlich alle vorhandenen Nachrichten zu dem Thema durch.