Compartilhar via


SubscriptionClient Classe

Definição

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

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

Exemplos

Criar uma assinaturaClient

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

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

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

Comentários

Ele usa o protocolo AMQP para se comunicar com o barramento de serviço. Use MessageReceiver para o conjunto avançado de funcionalidades.

Construtores

SubscriptionClient(ServiceBusConnection, String, String, ReceiveMode, RetryPolicy)

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

SubscriptionClient(ServiceBusConnectionStringBuilder, String, ReceiveMode, RetryPolicy)

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

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

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

SubscriptionClient(String, String, String, ReceiveMode, RetryPolicy)

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

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 caminho formatado do cliente de assinatura.

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.

ReceiveMode

Obtém o ReceiveMode para o SubscriptionClient.

RegisteredPlugins

Obtém uma lista de plug-ins registrados no momento para esta SubscriptionClient.

RetryPolicy

Obtém o RetryPolicy definido no cliente.

(Herdado de ClientEntity)
ServiceBusConnection

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

SubscriptionName

Obtém o nome da assinatura.

TopicPath

Obtém o caminho do tópico correspondente.

Métodos

AbandonAsync(String, IDictionary<String,Object>)

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

AddRuleAsync(RuleDescription)

Adiciona uma regra à assinatura atual para filtrar as mensagens que chegam do tópico à assinatura.

AddRuleAsync(String, Filter)

Adiciona uma regra à assinatura atual para filtrar as mensagens que chegam do tópico à assinatura.

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

DeadLetterAsync(String)

Move uma mensagem para a sub-fila de deadletter.

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.

GetRulesAsync()

Obtenha todas as regras associadas à assinatura.

OnClosingAsync()

SubscriptionClient pode ser usado para todas as interações básicas com uma Assinatura 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 para receber mensagens do Barramento de Serviço.

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 de assinatura.

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 de assinatura.

RemoveRuleAsync(String)

Remove a regra na assinatura identificada por ruleName.

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