Compartir a través de


QueueClient Clase

Definición

QueueClient se puede usar para todas las interacciones básicas con una cola de Service Bus.

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
Herencia
QueueClient
Implementaciones

Ejemplos

Creación de una nueva queueClient

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

Envíe un mensaje a la cola:

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

Registre un controlador de mensajes que se invocará cada vez que se reciba un mensaje.

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;
       });

Comentarios

Use MessageSender o MessageReceiver para un conjunto avanzado de funcionalidades. Usa el protocolo AMQP para comunicarse con servicebus.

Constructores

QueueClient(ServiceBusConnection, String, ReceiveMode, RetryPolicy)

Crea una nueva instancia del cliente queue en un determinado ServiceBusConnection

QueueClient(ServiceBusConnectionStringBuilder, ReceiveMode, RetryPolicy)

Crea una instancia de una nueva QueueClient para realizar operaciones en una cola.

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

Crea una nueva instancia del cliente queue mediante el punto de conexión, la ruta de acceso de entidad y el proveedor de tokens especificados.

QueueClient(String, String, ReceiveMode, RetryPolicy)

Crea una instancia de una nueva QueueClient para realizar operaciones en una cola.

Propiedades

ClientId

Obtiene el identificador para identificar este cliente. Esto se puede usar para correlacionar registros y excepciones.

(Heredado de ClientEntity)
IsClosedOrClosing

Devuelve true si el cliente está cerrado o cerrado.

(Heredado de ClientEntity)
OperationTimeout

Duración después de la cual se agotado el tiempo de espera de las operaciones individuales.

OwnsConnection

Devuelve true si la conexión es propiedad y false si se comparte la conexión.

(Heredado de ClientEntity)
Path

Obtiene el nombre de la cola.

PrefetchCount

La captura previa acelera el flujo de mensajes apuntando a tener un mensaje disponible para la recuperación local cuando y antes de que la aplicación solicite una mediante Receive. Si se establece un valor distinto de cero, se captura previamente el número de mensajes PrefetchCount. Al establecer el valor en cero, se desactiva la captura previa. El valor predeterminado es 0.

QueueName

Obtiene el nombre de la cola.

ReceiveMode

Obtiene para ReceiveMode QueueClient.

RegisteredPlugins

Obtiene una lista de complementos registrados actualmente para queueClient.

RetryPolicy

Obtiene el RetryPolicy objeto definido en el cliente.

(Heredado de ClientEntity)
ServiceBusConnection

Objeto de conexión al espacio de nombres de Service Bus.

Métodos

AbandonAsync(String, IDictionary<String,Object>)

Abandona un Message mediante un token de bloqueo. Esto hará que el mensaje esté disponible de nuevo para su procesamiento.

CancelScheduledMessageAsync(Int64)

Cancela un mensaje programado.

CloseAsync()

Cierra el cliente. Cierra las conexiones abiertas por ella.

(Heredado de ClientEntity)
CompleteAsync(String)

Completa un Message objeto mediante su token de bloqueo. Esto eliminará el mensaje de la cola.

DeadLetterAsync(String, IDictionary<String,Object>)

Mueve un mensaje a la sub cola de mensajes fallidos.

DeadLetterAsync(String, String, String)

Mueve un mensaje a la sub cola de mensajes fallidos.

OnClosingAsync()

QueueClient se puede usar para todas las interacciones básicas con una cola de Service Bus.

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

Recibir mensajes continuamente de la entidad. Registra un controlador de mensajes y comienza un nuevo subproceso para recibir mensajes. El receptor recibe este controlador(Func<T1,T2,TResult>) cada vez que el receptor recibe un nuevo mensaje.

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

Recibir mensajes continuamente de la entidad. Registra un controlador de mensajes y comienza un nuevo subproceso para recibir mensajes. El receptor recibe este controlador(Func<T1,T2,TResult>) cada vez que el receptor recibe un nuevo mensaje.

RegisterPlugin(ServiceBusPlugin)

Registra un ServiceBusPlugin objeto que se usará con este cliente de cola.

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

Recibir mensajes de sesión continuamente de la cola. Registra un controlador de mensajes y comienza un nuevo subproceso para recibir mensajes de sesión. El cliente de cola recibe este controlador(Func<T1,T2,T3,TResult>) cada vez que el cliente de cola recibe un nuevo mensaje.

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

Recibir mensajes de sesión continuamente de la cola. Registra un controlador de mensajes y comienza un nuevo subproceso para recibir mensajes de sesión. El cliente de cola recibe este controlador(Func<T1,T2,T3,TResult>) cada vez que el cliente de cola recibe un nuevo mensaje.

ScheduleMessageAsync(Message, DateTimeOffset)

Programa un mensaje para que aparezca en Service Bus más adelante.

SendAsync(IList<Message>)

Envía una lista de mensajes a Service Bus. Cuando se llama a en entidades con particiones, los mensajes destinados a distintas particiones no se pueden procesar por lotes juntos.

SendAsync(Message)

Envía un mensaje a Service Bus.

ThrowIfClosed()

Inicie una excepción OperationCanceledException si el objeto es Closing.

(Heredado de ClientEntity)
UnregisterMessageHandlerAsync(TimeSpan)

Anule el registro del controlador de mensajes del receptor si hay un controlador de mensajes activo registrado. Esta operación espera a que finalicen las operaciones de recepción y control de mensajes para finalizar y anular el registro de las futuras recepciones en el controlador de mensajes que se registró anteriormente.

UnregisterPlugin(String)

Anula el registro de un ServiceBusPluginobjeto .

UnregisterSessionHandlerAsync(TimeSpan)

Anule el registro del controlador de sesión del receptor si hay un controlador de sesión activo registrado. Esta operación espera a que finalicen las operaciones de recepción y control de sesiones para finalizar y anular el registro de las futuras recepciones en el controlador de sesión que se registró anteriormente.

Se aplica a