MessageReceiver Klasse

Definition

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

public class MessageReceiver : Microsoft.Azure.ServiceBus.ClientEntity, Microsoft.Azure.ServiceBus.Core.IMessageReceiver
type MessageReceiver = class
    inherit ClientEntity
    interface IMessageReceiver
    interface IReceiverClient
    interface IClientEntity
Public Class MessageReceiver
Inherits ClientEntity
Implements IMessageReceiver
Vererbung
MessageReceiver
Implementiert

Beispiele

Erstellen eines neuen MessageReceivers zum Empfangen einer Nachricht aus einem Abonnement

IMessageReceiver messageReceiver = new MessageReceiver(
    namespaceConnectionString,
    EntityNameHelper.FormatSubscriptionPath(topicName, subscriptionName),
    ReceiveMode.PeekLock);

Erhalten Sie eine Nachricht aus dem Abonnement.

var message = await messageReceiver.ReceiveAsync();
await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);

Hinweise

MessageReceiver bietet erweiterte Funktionen, die nicht in oder QueueClientSubscriptionClientgefunden werden. Für instance ReceiveAsync()können Sie Nachrichten bei Bedarf empfangen, erfordert aber auch, dass Sie Sperren manuell mit RenewLockAsync(Message)verlängern. Es verwendet das AMQP-Protokoll für die Kommunikation mit dem Dienst.

Konstruktoren

MessageReceiver(ServiceBusConnection, String, ReceiveMode, RetryPolicy, Int32)

Erstellt einen neuen AMQP MessageReceiver für eine bestimmte ServiceBusConnection

MessageReceiver(ServiceBusConnectionStringBuilder, ReceiveMode, RetryPolicy, Int32)

Erstellt einen neuen MessageReceiver aus einem ServiceBusConnectionStringBuilder.

MessageReceiver(String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy, Int32)

Erstellt einen neuen MessageReceiver von einem angegebenen Endpunkt, Entitätspfad und Tokenanbieter.

MessageReceiver(String, String, ReceiveMode, RetryPolicy, Int32)

Erstellt einen neuen MessageReceiver aus einer angegebenen Verbindungszeichenfolge und einem angegebenen Entitätspfad.

Eigenschaften

ClientId

Ruft die ID ab, um diesen Client zu identifizieren. Dies kann verwendet werden, um Protokolle und Ausnahmen zu korrelieren.

(Geerbt von ClientEntity)
IsClosedOrClosing

Gibt true zurück, wenn der Client geschlossen oder geschlossen ist.

(Geerbt von ClientEntity)
LastPeekedSequenceNumber

Ruft die Sequenznummer der zuletzt angezeigten Nachricht ab.

OperationTimeout

Dauer, nach der für einzelne Vorgänge ein Timeout auftritt.

OwnsConnection

Gibt true zurück, wenn die Verbindung im Besitz ist, und false, wenn die Verbindung freigegeben wird.

(Geerbt von ClientEntity)
Path

Der Pfad der Entität für diesen Empfänger. Für Warteschlangen ist dies der Name, für Abonnements ist dies der Pfad.

PrefetchCount

Prefetch beschleunigt den Nachrichtenfluss, indem eine Nachricht für den lokalen Abruf verfügbar ist, wenn und bevor die Anwendung mithilfe von Receive nach einer Nachricht fragt. Wenn Sie einen Wert ungleich 0 festlegen, wird die PrefetchCount-Anzahl von Nachrichten vorab angezeigt. Wenn Sie den Wert auf 0 festlegen, wird das Prefetch deaktiviert. Der Standardwert ist 0.

ReceiveMode

Ruft den ReceiveMode des aktuellen Empfängers ab.

RegisteredPlugins

Ruft eine Liste der aktuell registrierten Plug-Ins ab.

RetryPolicy

Ruft die RetryPolicy auf dem Client definierte ab.

(Geerbt von ClientEntity)
ServiceBusConnection

Verbindungsobjekt mit dem Service Bus-Namespace.

Methoden

AbandonAsync(String, IDictionary<String,Object>)

Beendet ein Message mithilfe eines Sperrtokens. Dadurch wird die Nachricht wieder für die Verarbeitung verfügbar.

CloseAsync()

Schließt den Client. Schließt die von ihr geöffneten Verbindungen.

(Geerbt von ClientEntity)
CompleteAsync(IEnumerable<String>)

Schließt eine Reihe der Message Verwendung einer Liste von Sperrtoken ab. Dadurch wird die Nachricht aus dem Dienst gelöscht.

CompleteAsync(String)

Schließt ein Message mithilfe des zugehörigen Sperrtokens ab. Dadurch wird die Nachricht aus dem Dienst gelöscht.

DeadLetterAsync(String, IDictionary<String,Object>)

Verschiebt eine Nachricht in die Unterwarteschlange des Deadletters.

DeadLetterAsync(String, String, String)

Verschiebt eine Nachricht in die Unterwarteschlange des Deadletters.

DeferAsync(String, IDictionary<String,Object>)

Gibt an, dass der Empfänger die Verarbeitung für die Nachricht zurückstellen möchte.

OnAbandonAsync(String, IDictionary<String,Object>)

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnClosingAsync()

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnCompleteAsync(IEnumerable<String>)

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnDeadLetterAsync(String, IDictionary<String,Object>, String, String)

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnDeferAsync(String, IDictionary<String,Object>)

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnMessageHandler(MessageHandlerOptions, Func<Message,CancellationToken,Task>)

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnPeekAsync(Int64, Int32)

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnReceiveAsync(Int32, TimeSpan)

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnReceiveDeferredMessageAsync(Int64[])

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

OnRenewLockAsync(String)

Der MessageReceiver kann verwendet werden, um Nachrichten von Warteschlangen und Abonnements zu empfangen und zu bestätigen.

PeekAsync()

Ruft die nächste aktive Nachricht ab, ohne den Status des Empfängers oder der Nachrichtenquelle zu ändern.

PeekAsync(Int32)

Ruft den nächsten Batch aktiver Nachrichten ab, ohne den Status des Empfängers oder der Nachrichtenquelle zu ändern.

PeekBySequenceNumberAsync(Int64)

Liest die nächste Nachricht asynchron, ohne den Status des Empfängers oder der Nachrichtenquelle zu ändern.

PeekBySequenceNumberAsync(Int64, Int32)

Hier wird ein Batch von Nachrichten angezeigt.

ReceiveAsync()

Empfangen sie eine Nachricht von der Entität, die mithilfe ReceiveMode des Modus definiert istPath.

ReceiveAsync(Int32)

Empfängt ein Maximum an maxMessageCount Nachrichten von der Entität, die im ReceiveMode Modus definiert istPath.

ReceiveAsync(Int32, TimeSpan)

Empfängt ein Maximum an maxMessageCount Nachrichten von der Entität, die im ReceiveMode Modus definiert istPath.

ReceiveAsync(TimeSpan)

Empfangen sie eine Nachricht von der Entität, die mithilfe ReceiveMode des Modus definiert istPath.

ReceiveDeferredMessageAsync(IEnumerable<Int64>)

Empfängt eine IList<T> von verzögerten Nachrichten, die durch identifiziert werden sequenceNumbers.

ReceiveDeferredMessageAsync(Int64)

Empfängt eine bestimmte verzögerte Nachricht, die durch identifiziert wird sequenceNumber.

RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>)

Empfangen Sie kontinuierlich Nachrichten von der Entität. Registriert einen Nachrichtenhandler und beginnt einen neuen Thread zum Empfangen von Nachrichten. Dieser handler(Func<T1,T2,TResult>) wird jedes Mal erwartet, wenn eine neue Nachricht vom Empfänger empfangen wird.

RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions)

Empfangen Sie kontinuierlich Nachrichten von der Entität. Registriert einen Nachrichtenhandler und beginnt einen neuen Thread zum Empfangen von Nachrichten. Dieser handler(Func<T1,T2,TResult>) wird jedes Mal erwartet, wenn eine neue Nachricht vom Empfänger empfangen wird.

RegisterPlugin(ServiceBusPlugin)

Registriert eine ServiceBusPlugin , die mit diesem Empfänger verwendet werden soll.

RenewLockAsync(Message)

Erneuert die Sperre für die vom Sperrtoken angegebene Nachricht. Die Sperre wird basierend auf der in der Warteschlange angegebenen Einstellung verlängert.

RenewLockAsync(String)

Erneuert die Sperre für die Nachricht. Die Sperre wird basierend auf der in der Warteschlange angegebenen Einstellung verlängert. Datum und Uhrzeit des Neuen Sperrtokenablaufs im UTC-Format.

ThrowIfClosed()

Lösen Sie eine OperationCanceledException aus, wenn das Objekt Geschlossen ist.

(Geerbt von ClientEntity)
UnregisterMessageHandlerAsync(TimeSpan)

Heben Sie die Registrierung des Nachrichtenhandlers vom Empfänger auf, wenn ein aktiver Nachrichtenhandler registriert ist. Dieser Vorgang wartet darauf, dass der Abschluss von Empfangs- und Nachrichtenverarbeitungsvorgängen an Bord abgeschlossen ist, und hebt die Registrierung zukünftiger Empfänge für den zuvor registrierten Nachrichtenhandler auf.

UnregisterPlugin(String)

Hebt die Registrierung eines auf ServiceBusPlugin.

Gilt für: