QueueClient Klasse

Definition

QueueClient kann für alle grundlegenden Interaktionen mit einer Service Bus-Warteschlange verwendet werden.

public class QueueClient : Microsoft.Azure.ServiceBus.ClientEntity, Microsoft.Azure.ServiceBus.IQueueClient
type QueueClient = class
    inherit ClientEntity
    interface IQueueClient
    interface IReceiverClient
    interface IClientEntity
    interface ISenderClient
Public Class QueueClient
Inherits ClientEntity
Implements IQueueClient
Vererbung
QueueClient
Implementiert

Beispiele

Erstellen eines neuen QueueClient

IQueueClient queueClient = new QueueClient(
    namespaceConnectionString,
    queueName,
    ReceiveMode.PeekLock,
    RetryExponential);

Senden Sie eine Nachricht an die Warteschlange:

byte[] data = GetData();
await queueClient.SendAsync(data);

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

queueClient.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 queueClient is opened in ReceiveMode.PeekLock mode.
           await queueClient.CompleteAsync(message.SystemProperties.LockToken);
       },
       async (exceptionEvent) =>
       {
           // Process the exception
           Console.WriteLine("Exception = " + exceptionEvent.Exception);
           return Task.CompletedTask;
       });

Hinweise

Verwenden Sie MessageSender oder MessageReceiver für erweiterte Funktionen. Es verwendet das AMQP-Protokoll für die Kommunikation mit servicebus.

Konstruktoren

QueueClient(ServiceBusConnection, String, ReceiveMode, RetryPolicy)

Erstellt eine neue instance des Warteschlangenclients für eine bestimmteServiceBusConnection

QueueClient(ServiceBusConnectionStringBuilder, ReceiveMode, RetryPolicy)

Instanziiert einen neuen QueueClient , um Vorgänge in einer Warteschlange auszuführen.

QueueClient(String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy)

Erstellt eine neue instance des Warteschlangenclients unter Verwendung des angegebenen Endpunkts, Entitätspfads und Tokenanbieters.

QueueClient(String, String, ReceiveMode, RetryPolicy)

Instanziiert einen neuen QueueClient , um Vorgänge in einer Warteschlange 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 Namen der Warteschlange 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.

QueueName

Ruft den Namen der Warteschlange ab.

ReceiveMode

Ruft den ReceiveMode für den QueueClient ab.

RegisteredPlugins

Ruft eine Liste der aktuell registrierten Plug-Ins für diesen QueueClient 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.

CancelScheduledMessageAsync(Int64)

Bricht eine geplante Nachricht ab.

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 der Warteschlange 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.

OnClosingAsync()

QueueClient kann für alle grundlegenden Interaktionen mit einer Service Bus-Warteschlange 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 mit diesem Warteschlangenclient 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 Warteschlangenclient 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 Warteschlangenclient empfangen wird.

ScheduleMessageAsync(Message, DateTimeOffset)

Plant, dass eine Nachricht zu einem späteren Zeitpunkt in Service Bus angezeigt wird.

SendAsync(IList<Message>)

Sendet eine Liste von Nachrichten an Service Bus. Wenn für partitionierte Entitäten aufgerufen wird, können Nachrichten, die für verschiedene Partitionen bestimmt sind, nicht im Batch zusammengefasst werden.

SendAsync(Message)

Sendet eine Nachricht an Service Bus.

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: