ServiceBusSessionProcessor Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 à |
Identifier |
Obtient l’identificateur utilisé pour identifier ce client de processeur. Si |
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 à
Azure SDK for .NET