IMessageReceiver Schnittstelle

Definition

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

public interface IMessageReceiver : Microsoft.Azure.ServiceBus.Core.IReceiverClient
type IMessageReceiver = interface
    interface IReceiverClient
    interface IClientEntity
Public Interface IMessageReceiver
Implements IReceiverClient
Abgeleitet
Implementiert

Beispiele

Erstellen eines neuen MessageReceiver zum Empfangen einer Nachricht aus einem Abonnement

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

Empfangen einer Nachricht aus dem Abonnement.

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

Hinweise

MessageReceiver bietet erweiterte Funktionen, die in oder QueueClientSubscriptionClientnicht gefunden werden. Für instance ReceiveAsync(), die ihnen ermöglicht, Nachrichten bei Bedarf zu empfangen, aber auch erfordert, dass Sie Sperren manuell mit RenewLockAsync(Message)erneuern.

Eigenschaften

ClientId

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

(Geerbt von IClientEntity)
IsClosedOrClosing

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

(Geerbt von IClientEntity)
LastPeekedSequenceNumber

Ruft die Sequenznummer der letzten eingesehenen Nachricht ab.

OperationTimeout

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

(Geerbt von IClientEntity)
OwnsConnection

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

(Geerbt von IClientEntity)
Path

Ruft den Entitätspfad ab.

(Geerbt von IClientEntity)
PrefetchCount

Der Vorabruf beschleunigt den Nachrichtenfluss, indem versucht wird, eine Nachricht für den lokalen Abruf verfügbar zu halten, wenn und bevor die Anwendung mit Receive eine nachricht anfragt. Wenn Sie einen Wert ungleich 0 festlegen, wird prefetchCount die Anzahl von Nachrichten vorab abgerufen. Wenn Sie den Wert auf 0 (null) festlegen, wird der Vorabruf deaktiviert. Der Standardwert ist 0.

(Geerbt von IReceiverClient)
ReceiveMode

Ruft den ReceiveMode des aktuellen Empfängers ab.

(Geerbt von IReceiverClient)
RegisteredPlugins

Ruft eine Liste der derzeit registrierten Plug-Ins für diesen Client ab.

(Geerbt von IClientEntity)
ServiceBusConnection

Verbindungsobjekt mit dem Service Bus-Namespace.

(Geerbt von IClientEntity)

Methoden

AbandonAsync(String, IDictionary<String,Object>)

Gibt ein Message mithilfe eines Sperrtokens auf. Dadurch wird die Nachricht wieder zur Verarbeitung zur Verfügung gestellt.

(Geerbt von IReceiverClient)
CloseAsync()

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

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

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

CompleteAsync(String)

Schließt eine mithilfe des zugehörigen Sperrtokens ab Message . Dadurch wird die Nachricht aus der Warteschlange gelöscht.

(Geerbt von IReceiverClient)
DeadLetterAsync(String, IDictionary<String,Object>)

Verschiebt eine Nachricht in die Unzustellbare Unterwarteschlange.

(Geerbt von IReceiverClient)
DeadLetterAsync(String, String, String)

Verschiebt eine Nachricht in die Unzustellbare Unterwarteschlange.

(Geerbt von IReceiverClient)
DeferAsync(String, IDictionary<String,Object>)

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

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 eingesehen.

ReceiveAsync()

Empfangen einer Nachricht von der Entität, die mithilfe ReceiveMode des Modus definiert wirdPath.

ReceiveAsync(Int32)

Empfängt ein Maximum von Nachrichten von der Entität, die mithilfe ReceiveMode des maxMessageCount Modus definiert wirdPath.

ReceiveAsync(Int32, TimeSpan)

Empfängt ein Maximum von Nachrichten von der Entität, die mithilfe ReceiveMode des maxMessageCount Modus definiert wirdPath.

ReceiveAsync(TimeSpan)

Empfangen einer Nachricht von der Entität, die mithilfe ReceiveMode des Modus definiert wirdPath.

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 von identifiziert wird sequenceNumber.

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

Empfangen von Nachrichten kontinuierlich von der Entität. Registriert einen Nachrichtenhandler und startet 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.

(Geerbt von IReceiverClient)
RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions)

Empfangen von Nachrichten kontinuierlich von der Entität. Registriert einen Nachrichtenhandler und startet 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.

(Geerbt von IReceiverClient)
RegisterPlugin(ServiceBusPlugin)

Registriert eine ServiceBusPlugin , die mit diesem Client verwendet werden soll.

(Geerbt von IClientEntity)
RenewLockAsync(Message)

Erneuert die Sperre für die 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. Neues Sperrtokenablaufdatum und -uhrzeit im UTC-Format.

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 Empfangsvorgänge für den zuvor registrierten Nachrichtenhandler auf.

(Geerbt von IReceiverClient)
UnregisterPlugin(String)

Hebt die Registrierung eines auf ServiceBusPlugin.

(Geerbt von IClientEntity)

Gilt für:

Weitere Informationen