ServiceBusSessionProcessor Classe

Définition

fournit ServiceBusSessionProcessor une abstraction autour d’un ensemble de qui permet d’utiliser ServiceBusSessionReceiver un modèle basé sur des événements pour le traitement reçu ServiceBusReceivedMessage. Il est construit en appelant CreateSessionProcessor(String, ServiceBusSessionProcessorOptions). Le gestionnaire de messages est spécifié avec la ProcessMessageAsync propriété . Le gestionnaire d’erreurs est spécifié avec la ProcessErrorAsync propriété . Pour commencer le traitement une fois que les gestionnaires ont été spécifiés, appelez StartProcessingAsync(CancellationToken).

public class ServiceBusSessionProcessor : IAsyncDisposable
type ServiceBusSessionProcessor = class
    interface IAsyncDisposable
Public Class ServiceBusSessionProcessor
Implements IAsyncDisposable
Héritage
ServiceBusSessionProcessor
Implémente

Remarques

ServiceBusSessionProcessor Le est sûr à mettre en cache et à utiliser pendant la durée de vie d’une application ou jusqu’à ce que le ServiceBusClient par lequel il a été créé soit supprimé. Il est recommandé de mettre en cache le processeur lorsque l’application traite les messages régulièrement. L’expéditeur est responsable de l’utilisation efficace du réseau, du processeur et de la mémoire. L’appel DisposeAsync() sur le associé ServiceBusClient lorsque l’application s’arrête garantit que les ressources réseau et autres objets non managés utilisés par le processeur sont correctement nettoyés.

Constructeurs

ServiceBusSessionProcessor()

Initialise une nouvelle instance de la ServiceBusSessionProcessor classe pour les moqueries.

ServiceBusSessionProcessor(ServiceBusClient, String, ServiceBusSessionProcessorOptions)

Initialise une nouvelle instance de la classe pour une ServiceBusSessionProcessor utilisation avec des types dérivés.

ServiceBusSessionProcessor(ServiceBusClient, String, String, ServiceBusSessionProcessorOptions)

Initialise une nouvelle instance de la classe pour une ServiceBusSessionProcessor utilisation avec des types dérivés.

Propriétés

AutoCompleteMessages

Obtient une valeur qui indique si le processeur doit exécuter automatiquement les messages une fois que le gestionnaire de messages a terminé le traitement. Si le gestionnaire de messages déclenche une exception, le message n’est pas automatiquement terminé.

EntityPath

Obtient le chemin de l’entité Service Bus à laquelle le processeur est connecté, spécifique à l’espace de noms Service Bus qui le contient.

FullyQualifiedNamespace

Obtient l’espace de noms Service Bus complet auquel le récepteur est associé. Cela est susceptible d’être similaire à {yournamespace}.servicebus.windows.net.

Identifier

Obtient l’identificateur utilisé pour identifier ce client de processeur. Si null ou vide, une valeur unique aléatoire sera utilisée.

InnerProcessor

ServiceBusProcessor auquel le processeur de session délègue. Ce paramètre peut être substitué à des fins de test.

IsClosed

Indique si cette ServiceBusSessionProcessor opération a été fermée ou non.

IsProcessing

Obtient si ce processeur traite actuellement les messages.

MaxAutoLockRenewalDuration

Obtient la durée maximale pendant laquelle le verrou de session sera renouvelé automatiquement.

MaxConcurrentCallsPerSession

Obtient le nombre maximal d’appels au rappel que le processeur lancera par session. Par conséquent, le nombre total de rappels est égal à MaxConcurrentSessions * MaxConcurrentCallsPerSession. La valeur par défaut est 1.

MaxConcurrentSessions

Obtient le nombre maximal de sessions qui seront traitées simultanément par le processeur. La valeur par défaut est 8.

PrefetchCount

Obtient le nombre de messages qui seront vivement demandés à partir de files d’attente ou d’abonnements pendant le traitement. Cela permet d’optimiser le débit en permettant au processeur de recevoir à partir d’un cache local plutôt que d’attendre une demande de service.

ReceiveMode

Obtient le ReceiveMode utilisé pour spécifier la façon dont les messages sont reçus. Par défaut, mode PeekLock.

SessionIdleTimeout

Obtient la durée maximale d’attente avant la réception d’un message pour la session active. Une fois ce délai écoulé, l’UC ferme la session et tente de traiter une autre session. S’il n’est pas spécifié, le TryTimeout sera utilisé.

Méthodes

CloseAsync(CancellationToken)

Effectue la tâche nécessaire pour propre ressources utilisées par .ServiceBusSessionProcessor

DisposeAsync()

Effectue la tâche nécessaire pour propre ressources utilisées par .ServiceBusSessionProcessor Cela équivaut à appeler CloseAsync(CancellationToken).

OnProcessErrorAsync(ProcessErrorEventArgs)

Appelle le gestionnaire d’événements d’erreur lorsqu’une erreur s’est produite pendant le traitement. Cette méthode peut être remplacée pour déclencher manuellement un événement à des fins de test.

OnProcessSessionMessageAsync(ProcessSessionMessageEventArgs)

Appelle le gestionnaire d’événements de message de processus une fois qu’un message a été reçu. Cette méthode peut être remplacée pour déclencher manuellement un événement à des fins de test.

OnSessionClosingAsync(ProcessSessionEventArgs)

Appelle le gestionnaire d’événements de fermeture de session lorsqu’une session est sur le point d’être fermée pour traitement. Cette méthode peut être remplacée pour déclencher manuellement un événement à des fins de test.

OnSessionInitializingAsync(ProcessSessionEventArgs)

Appelle le gestionnaire d’événements ouvert de session lorsqu’une nouvelle session est sur le point d’être traitée. Cette méthode peut être remplacée pour déclencher manuellement un événement à des fins de test.

StartProcessingAsync(CancellationToken)

Indique au processeur de commencer le traitement des messages. Si cette méthode est appelée alors que le processeur est déjà en cours d’exécution, un InvalidOperationException est levée.

StopProcessingAsync(CancellationToken)

Indique au processeur d’arrêter le traitement des messages. Si cette méthode est appelée alors que le processeur n’est pas en cours d’exécution, aucune action n’est effectuée. Cette méthode ne ferme pas les récepteurs sous-jacents, mais entraîne l’arrêt de la réception des récepteurs. Tous les gestionnaires de messages en cours d’exécution seront attendus, et cette méthode ne sera pas retournée tant que tous les gestionnaires de messages en cours d’exécution n’auront pas été retournés. Pour fermer les récepteurs sous-jacents, CloseAsync(CancellationToken) doit être appelé. Si CloseAsync(CancellationToken) est appelé, le processeur ne peut pas être redémarré. Si vous souhaitez reprendre le traitement à un moment donné après l’appel de cette méthode, vous pouvez appeler StartProcessingAsync(CancellationToken).

UpdateConcurrency(Int32, Int32)

Mises à jour la concurrence pour le processeur. Cette méthode peut être utilisée pour modifier dynamiquement la concurrence d’un processeur en cours d’exécution.

UpdatePrefetchCount(Int32)

Mises à jour le nombre de prérécupérations pour le processeur. Cette méthode peut être utilisée pour modifier dynamiquement le nombre de prérécupérations d’un processeur en cours d’exécution.

Événements

ProcessErrorAsync

Gestionnaire responsable du traitement des exceptions non gérées levées pendant l’exécution de ce processeur. L’implémentation est obligatoire.

ProcessMessageAsync

Gestionnaire responsable du traitement des messages reçus à partir de la file d’attente ou de l’abonnement. L’implémentation est obligatoire.

SessionClosingAsync

Gestionnaire facultatif qui peut être défini pour être averti lorsqu’une session est sur le point d’être fermée pour traitement. Cela signifie que l’appel le plus récent ReceiveMessageAsync(Nullable<TimeSpan>, CancellationToken) a expiré ou a ReleaseSession() été appelé dans le ProcessMessageAsync gestionnaire.

SessionInitializingAsync

Gestionnaire facultatif qui peut être défini pour être averti lorsqu’une nouvelle session est sur le point d’être traitée.

S’applique à