SubscriptionClient Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
SubscriptionClient kann für alle grundlegenden Interaktionen mit einem Service Bus-Abonnement verwendet werden.
public class SubscriptionClient : Microsoft.Azure.ServiceBus.ClientEntity, Microsoft.Azure.ServiceBus.ISubscriptionClient
type SubscriptionClient = class
inherit ClientEntity
interface ISubscriptionClient
interface IReceiverClient
interface IClientEntity
Public Class SubscriptionClient
Inherits ClientEntity
Implements ISubscriptionClient
- Vererbung
- 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
Es verwendet das AMQP-Protokoll für die Kommunikation mit Service Bus. Verwenden Sie MessageReceiver für erweiterte Funktionen.
Konstruktoren
SubscriptionClient(ServiceBusConnection, String, String, ReceiveMode, RetryPolicy) |
Erstellt eine neue instance des Abonnementclients für eine bestimmteServiceBusConnection |
SubscriptionClient(ServiceBusConnectionStringBuilder, String, ReceiveMode, RetryPolicy) |
Instanziiert einen neuen SubscriptionClient , um Vorgänge für ein Abonnement auszuführen. |
SubscriptionClient(String, String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy) |
Erstellt eine neue instance des Abonnementclients unter Verwendung des angegebenen Endpunkts, Entitätspfads und Tokenanbieters. |
SubscriptionClient(String, String, String, ReceiveMode, RetryPolicy) |
Instanziiert einen neuen SubscriptionClient , um Vorgänge für ein Abonnement auszuführen. |
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) |
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 |
Ruft den formatierten Pfad des Abonnementclients ab. |
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 für den SubscriptionClient ab. |
RegisteredPlugins |
Ruft eine Liste der aktuell registrierten Plug-Ins für diesen SubscriptionClient ab. |
RetryPolicy |
Ruft die RetryPolicy auf dem Client definierte ab. (Geerbt von ClientEntity) |
ServiceBusConnection |
Verbindungsobjekt mit dem Service Bus-Namespace. |
SubscriptionName |
Ruft den Namen des Abonnements ab. |
TopicPath |
Ruft den Pfad des entsprechenden Themas ab. |
Methoden
AbandonAsync(String, IDictionary<String,Object>) |
Beendet ein Message mithilfe eines Sperrtokens. Dadurch wird die Nachricht wieder für die Verarbeitung verfügbar. |
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 ClientEntity) |
CompleteAsync(String) |
Schließt ein Message mithilfe des zugehörigen Sperrtokens ab. Dadurch wird die Nachricht aus dem Abonnement gelöscht. |
DeadLetterAsync(String) |
Verschiebt eine Nachricht in die Unterwarteschlange des Deadletters. |
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. |
GetRulesAsync() |
Rufen Sie alle Regeln ab, die dem Abonnement zugeordnet sind. |
OnClosingAsync() |
SubscriptionClient kann für alle grundlegenden Interaktionen mit einem Service Bus-Abonnement verwendet werden. |
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 für den Empfang von Nachrichten von Service Bus verwendet werden soll. |
RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>) |
Empfangen Sie fortlaufend Sitzungsnachrichten aus der Warteschlange. 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) |
Empfangen Sie fortlaufend Sitzungsnachrichten aus der Warteschlange. 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 |
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. |
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:
Azure SDK for .NET