QueueClient Classe

Definição

QueueClient pode ser usado para todas as interações básicas com uma Fila do Barramento de Serviço.

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
Herança
QueueClient
Implementações

Exemplos

Criar um novo QueueClient

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

Envie uma mensagem para a fila:

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

Registre um manipulador de mensagens que será invocado sempre que uma mensagem for recebida.

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

Comentários

Use MessageSender ou MessageReceiver para um conjunto avançado de funcionalidades. Ele usa o protocolo AMQP para se comunicar com o servicebus.

Construtores

QueueClient(ServiceBusConnection, String, ReceiveMode, RetryPolicy)

Cria uma nova instância do cliente Queue em um determinado ServiceBusConnection

QueueClient(ServiceBusConnectionStringBuilder, ReceiveMode, RetryPolicy)

Cria uma instância de um novo QueueClient para executar operações em uma fila.

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

Cria uma nova instância do cliente Queue usando o ponto de extremidade, o caminho da entidade e o provedor de token especificados.

QueueClient(String, String, ReceiveMode, RetryPolicy)

Cria uma instância de um novo QueueClient para executar operações em uma fila.

Propriedades

ClientId

Obtém a ID para identificar esse cliente. Isso pode ser usado para correlacionar logs e exceções.

(Herdado de ClientEntity)
IsClosedOrClosing

Retornará true se o cliente estiver fechado ou fechado.

(Herdado de ClientEntity)
OperationTimeout

Duração após a qual as operações individuais atingirão o tempo limite.

OwnsConnection

Retornará true se a conexão for de propriedade e false se a conexão for compartilhada.

(Herdado de ClientEntity)
Path

Obtém o nome da fila.

PrefetchCount

A pré-busca acelera o fluxo de mensagens com o objetivo de ter uma mensagem prontamente disponível para recuperação local quando e antes que o aplicativo solicite uma usando Receive. Definir um valor diferente de zero pré-busca o número prefetchCount de mensagens. Definir o valor como zero desativa a pré-busca. Assume o padrão de 0.

QueueName

Obtém o nome da fila.

ReceiveMode

Obtém o ReceiveMode para o QueueClient.

RegisteredPlugins

Obtém uma lista de plug-ins registrados no momento para este QueueClient.

RetryPolicy

Obtém o RetryPolicy definido no cliente.

(Herdado de ClientEntity)
ServiceBusConnection

Objeto de conexão com o namespace do barramento de serviço.

Métodos

AbandonAsync(String, IDictionary<String,Object>)

Abandona um Message usando um token de bloqueio. Isso disponibilizará a mensagem novamente para processamento.

CancelScheduledMessageAsync(Int64)

Cancela uma mensagem que foi agendada.

CloseAsync()

Fecha o Cliente. Fecha as conexões abertas por ela.

(Herdado de ClientEntity)
CompleteAsync(String)

Conclui um Message usando seu token de bloqueio. Isso excluirá a mensagem da fila.

DeadLetterAsync(String, IDictionary<String,Object>)

Move uma mensagem para a sub-fila de deadletter.

DeadLetterAsync(String, String, String)

Move uma mensagem para a sub-fila de deadletter.

OnClosingAsync()

QueueClient pode ser usado para todas as interações básicas com uma Fila do Barramento de Serviço.

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

Receber mensagens continuamente da entidade. Registra um manipulador de mensagens e inicia um novo thread para receber mensagens. Esse manipulador(Func<T1,T2,TResult>) é aguardado sempre que uma nova mensagem é recebida pelo receptor.

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

Receber mensagens continuamente da entidade. Registra um manipulador de mensagens e inicia um novo thread para receber mensagens. Esse manipulador(Func<T1,T2,TResult>) é aguardado sempre que uma nova mensagem é recebida pelo receptor.

RegisterPlugin(ServiceBusPlugin)

Registra um ServiceBusPlugin a ser usado com esse cliente de fila.

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

Receber mensagens de sessão continuamente da fila. Registra um manipulador de mensagens e inicia um novo thread para receber mensagens de sessão. Esse manipulador(Func<T1,T2,T3,TResult>) é aguardado sempre que uma nova mensagem é recebida pelo cliente da fila.

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

Receber mensagens de sessão continuamente da fila. Registra um manipulador de mensagens e inicia um novo thread para receber mensagens de sessão. Esse manipulador(Func<T1,T2,T3,TResult>) é aguardado sempre que uma nova mensagem é recebida pelo cliente da fila.

ScheduleMessageAsync(Message, DateTimeOffset)

Agenda uma mensagem para aparecer no Barramento de Serviço posteriormente.

SendAsync(IList<Message>)

Envia uma lista de mensagens para o Barramento de Serviço. Quando chamado em entidades particionadas, as mensagens destinadas a partições diferentes não podem ser agrupadas em lote.

SendAsync(Message)

Envia uma mensagem para o Barramento de Serviço.

ThrowIfClosed()

Gere uma OperationCanceledException se o objeto estiver fechando.

(Herdado de ClientEntity)
UnregisterMessageHandlerAsync(TimeSpan)

Cancele o registro do manipulador de mensagens do receptor se houver um manipulador de mensagens ativo registrado. Esta operação aguarda a conclusão das operações de recebimento e tratamento de mensagens a bordo para concluir e cancelar o registro de recebimentos futuros no manipulador de mensagens registrado anteriormente.

UnregisterPlugin(String)

Cancela o registro de um ServiceBusPlugin.

UnregisterSessionHandlerAsync(TimeSpan)

Cancele o registro do manipulador de sessão do receptor se houver um manipulador de sessão ativo registrado. Essa operação aguarda a conclusão das operações de recebimento e tratamento de sessão de bordo para concluir e cancelar o registro de recebimentos futuros no manipulador de sessão registrado anteriormente.

Aplica-se a