ServiceBusSessionProcessor Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
O ServiceBusSessionProcessor fornece uma abstração em torno de um conjunto de que permite o uso de ServiceBusSessionReceiver um modelo baseado em evento para processamento recebido ServiceBusReceivedMessage. Ele é construído chamando CreateSessionProcessor(String, ServiceBusSessionProcessorOptions). O manipulador de mensagens é especificado com a ProcessMessageAsync propriedade . O manipulador de erros é especificado com a ProcessErrorAsync propriedade . Para iniciar o processamento depois que os manipuladores tiverem sido especificados, chame StartProcessingAsync(CancellationToken).
public class ServiceBusSessionProcessor : IAsyncDisposable
type ServiceBusSessionProcessor = class
interface IAsyncDisposable
Public Class ServiceBusSessionProcessor
Implements IAsyncDisposable
- Herança
-
ServiceBusSessionProcessor
- Implementações
Comentários
O ServiceBusSessionProcessor é seguro para armazenar em cache e usar durante o tempo de vida de um aplicativo ou até que o ServiceBusClient pelo qual ele foi criado seja descartado. O cache do processador é recomendado quando o aplicativo está processando mensagens regularmente. O remetente é responsável por garantir o uso eficiente de rede, CPU e memória. Chamar DisposeAsync() no associado ServiceBusClient , pois o aplicativo está sendo desligado, garantirá que os recursos de rede e outros objetos não gerenciados usados pelo processador sejam limpos corretamente.
Construtores
ServiceBusSessionProcessor() |
Inicializa uma nova instância da ServiceBusSessionProcessor classe para simulação. |
ServiceBusSessionProcessor(ServiceBusClient, String, ServiceBusSessionProcessorOptions) |
Inicializa uma nova instância da ServiceBusSessionProcessor classe para uso com tipos derivados. |
ServiceBusSessionProcessor(ServiceBusClient, String, String, ServiceBusSessionProcessorOptions) |
Inicializa uma nova instância da ServiceBusSessionProcessor classe para uso com tipos derivados. |
Propriedades
AutoCompleteMessages |
Obtém um valor que indica se o processador deve concluir automaticamente as mensagens depois que o manipulador de mensagens concluir o processamento. Se o manipulador de mensagens disparar uma exceção, a mensagem não será concluída automaticamente. |
EntityPath |
Obtém o caminho da entidade do Barramento de Serviço à qual o processador está conectado, específico ao namespace do Barramento de Serviço que o contém. |
FullyQualifiedNamespace |
Obtém o namespace do Barramento de Serviço totalmente qualificado ao qual o receptor está associado. É provável que isso seja semelhante a |
Identifier |
Obtém o Identificador usado para identificar esse cliente processador. Se |
InnerProcessor |
O ServiceBusProcessor para o qual o processador de sessão delega. Isso pode ser substituído para fins de teste. |
IsClosed |
Indica se isso ServiceBusSessionProcessor foi ou não fechado. |
IsProcessing |
Obtém se esse processador está processando ou não mensagens no momento. |
MaxAutoLockRenewalDuration |
Obtém a duração máxima dentro da qual o bloqueio de sessão será renovado automaticamente. |
MaxConcurrentCallsPerSession |
Obtém o número máximo de chamadas para o retorno de chamada que o processador iniciará por sessão. Portanto, o número total de retornos de chamada será igual a MaxConcurrentSessions * MaxConcurrentCallsPerSession. O valor padrão é 1. |
MaxConcurrentSessions |
Obtém o número máximo de sessões que serão processadas simultaneamente pelo processador. O valor padrão é 8. |
PrefetchCount |
Obtém o número de mensagens que serão solicitadas ansiosamente de Filas ou Assinaturas durante o processamento. Isso se destina a ajudar a maximizar a taxa de transferência, permitindo que o processador receba de um cache local em vez de aguardar uma solicitação de serviço. |
ReceiveMode |
Obtém o ReceiveMode usado para especificar como as mensagens são recebidas. O padrão é o modo PeekLock. |
SessionIdleTimeout |
Obtém o tempo máximo de espera para que uma mensagem seja recebida para a sessão ativa no momento. Decorrido esse tempo, o processador fechará a sessão e tentará processar outra sessão. Se não for especificado, o TryTimeout será usado. |
Métodos
CloseAsync(CancellationToken) |
Executa a tarefa necessária para limpo recursos usados pelo ServiceBusSessionProcessor. |
DisposeAsync() |
Executa a tarefa necessária para limpo recursos usados pelo ServiceBusSessionProcessor. Isso é equivalente a chamar CloseAsync(CancellationToken). |
OnProcessErrorAsync(ProcessErrorEventArgs) |
Invoca o manipulador de eventos de erro quando ocorreu um erro durante o processamento. Esse método pode ser substituído para gerar um evento manualmente para fins de teste. |
OnProcessSessionMessageAsync(ProcessSessionMessageEventArgs) |
Invoca o manipulador de eventos de mensagem de processo depois que uma mensagem é recebida. Esse método pode ser substituído para gerar um evento manualmente para fins de teste. |
OnSessionClosingAsync(ProcessSessionEventArgs) |
Invoca o manipulador de eventos de fechamento de sessão quando uma sessão está prestes a ser fechada para processamento. Esse método pode ser substituído para gerar um evento manualmente para fins de teste. |
OnSessionInitializingAsync(ProcessSessionEventArgs) |
Invoca o manipulador de eventos abertos da sessão quando uma nova sessão está prestes a ser processada. Esse método pode ser substituído para gerar um evento manualmente para fins de teste. |
StartProcessingAsync(CancellationToken) |
Sinaliza o processador para começar a processar mensagens. Se esse método for chamado enquanto o processador já estiver em execução, um InvalidOperationException será lançado. |
StopProcessingAsync(CancellationToken) |
Sinaliza ao processador para interromper o processamento de mensagens. Se esse método for chamado enquanto o processador não estiver em execução, nenhuma ação será executada. Esse método não fechará os receptores subjacentes, mas fará com que os receptores parem de receber. Todos os manipuladores de mensagens em andamento serão aguardados e esse método não retornará até que todos os manipuladores de mensagens em andamento tenham retornado. Para fechar os receptores subjacentes, CloseAsync(CancellationToken) deve ser chamado. Se CloseAsync(CancellationToken) for chamado, o processador não poderá ser reiniciado. Se você quiser retomar o processamento em algum momento depois de chamar esse método, poderá chamar StartProcessingAsync(CancellationToken). |
UpdateConcurrency(Int32, Int32) |
Atualizações a simultaneidade do processador. Esse método pode ser usado para alterar dinamicamente a simultaneidade de um processador em execução. |
UpdatePrefetchCount(Int32) |
Atualizações a contagem de pré-busca para o processador. Esse método pode ser usado para alterar dinamicamente a contagem de pré-busca de um processador em execução. |
Eventos
ProcessErrorAsync |
O manipulador responsável por processar exceções sem tratamento geradas enquanto esse processador está em execução. A implementação é obrigatória. |
ProcessMessageAsync |
O manipulador responsável pelo processamento de mensagens recebidas da Fila ou assinatura. A implementação é obrigatória. |
SessionClosingAsync |
Manipulador opcional que pode ser definido para ser notificado quando uma sessão está prestes a ser fechada para processamento. Isso significa que a chamada mais recente ReceiveMessageAsync(Nullable<TimeSpan>, CancellationToken) atingiu o tempo limite ou que ReleaseSession() foi chamada no ProcessMessageAsync manipulador. |
SessionInitializingAsync |
Manipulador opcional que pode ser definido para ser notificado quando uma nova sessão está prestes a ser processada. |
Aplica-se a
Azure SDK for .NET