Freigeben über


ISubscriptionClient Schnittstelle

Definition

SubscriptionClient kann für alle grundlegenden Interaktionen mit einem Service Bus-Abonnement verwendet werden.

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

Beispiele

Erstellen eines neuen SubscriptionClient

ISubscriptionClient subscriptionClient = new SubscriptionClient(
    namespaceConnectionString,
    topicName,
    subscriptionName,
    ReceiveMode.PeekLock,
    RetryExponential);

Registrieren Sie einen Nachrichtenhandler, der jedes Mal aufgerufen wird, wenn eine Nachricht empfangen wird.

subscriptionClient.RegisterMessageHandler(
       async (message, token) =>
       {
           // Process the message
           Console.WriteLine($"Received message: SequenceNumber:{message.SystemProperties.SequenceNumber} Body:{Encoding.UTF8.GetString(message.Body)}");

           // Complete the message so that it is not received again.
           // This can be done only if the subscriptionClient is opened in ReceiveMode.PeekLock mode.
           await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);
       },
       async (exceptionEvent) =>
       {
           // Process the exception
           Console.WriteLine("Exception = " + exceptionEvent.Exception);
           return Task.CompletedTask;
       });

Hinweise

Verwenden Sie MessageReceiver für erweiterte Funktionen.

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

(Geerbt von IClientEntity)
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 wird.

(Geerbt von IClientEntity)
Path

Ruft den Entitätspfad ab.

(Geerbt von IClientEntity)
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.

(Geerbt von IReceiverClient)
ReceiveMode

Ruft den ReceiveMode des aktuellen Empfängers ab.

(Geerbt von IReceiverClient)
RegisteredPlugins

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

(Geerbt von IClientEntity)
ServiceBusConnection

Verbindungsobjekt mit dem Service Bus-Namespace.

(Geerbt von IClientEntity)
SubscriptionName

Ruft den Namen des Abonnements ab.

TopicPath

Ruft den Pfad des Themas für dieses Abonnement ab.

Methoden

AbandonAsync(String, IDictionary<String,Object>)

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

(Geerbt von IReceiverClient)
AddRuleAsync(RuleDescription)

Fügt dem aktuellen Abonnement eine Regel hinzu, um die Nachrichten zu filtern, die vom Thema in das Abonnement gelangen.

AddRuleAsync(String, Filter)

Fügt dem aktuellen Abonnement eine Regel hinzu, um die Nachrichten zu filtern, die vom Thema in das Abonnement gelangen.

CloseAsync()

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

(Geerbt von IClientEntity)
CompleteAsync(String)

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

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

Verschiebt eine Nachricht in die Unterwarteschlange des Deadletters.

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

Verschiebt eine Nachricht in die Unterwarteschlange des Deadletters.

(Geerbt von IReceiverClient)
GetRulesAsync()

Rufen Sie alle Regeln ab, die dem Abonnement zugeordnet sind.

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.

(Geerbt von IReceiverClient)
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.

(Geerbt von IReceiverClient)
RegisterPlugin(ServiceBusPlugin)

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

(Geerbt von IClientEntity)
RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>)

Erhalten Sie fortlaufend Sitzungsnachrichten aus dem Abonnement. Registriert einen Nachrichtenhandler und beginnt einen neuen Thread zum Empfangen von Sitzungsmeldungen. Dieser handler(Func<T1,T2,T3,TResult>) wird jedes Mal erwartet, wenn eine neue Nachricht vom Abonnementclient empfangen wird.

RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, SessionHandlerOptions)

Erhalten Sie fortlaufend Sitzungsnachrichten aus dem Abonnement. Registriert einen Nachrichtenhandler und beginnt einen neuen Thread zum Empfangen von Sitzungsmeldungen. Dieser handler(Func<T1,T2,T3,TResult>) wird jedes Mal erwartet, wenn eine neue Nachricht vom Abonnementclient empfangen wird.

RemoveRuleAsync(String)

Entfernt die Regel für das durch identifizierte ruleNameAbonnement.

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.

(Geerbt von IReceiverClient)
UnregisterPlugin(String)

Hebt die Registrierung eines auf ServiceBusPlugin.

(Geerbt von IClientEntity)
UnregisterSessionHandlerAsync(TimeSpan)

Heben Sie die Registrierung des Sitzungshandlers vom Empfänger auf, wenn ein aktiver Sitzungshandler registriert ist. Dieser Vorgang wartet darauf, dass der Abschluss von Empfangs- und Sitzungsverarbeitungsvorgängen an Bord abgeschlossen ist, und hebt die Registrierung zukünftiger Empfänge auf dem Sitzungshandler auf, der zuvor registriert wurde.

Gilt für: