Partager via


ServiceBusProcessor Classe

Définition

Fournit ServiceBusProcessor une abstraction autour d’un ensemble de qui permet d’utiliser ServiceBusReceiver un modèle basé sur des événements pour le traitement reçu ServiceBusReceivedMessage. Il est construit en appelant CreateProcessor(String, ServiceBusProcessorOptions). 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 les gestionnaires spécifiés, appelez StartProcessingAsync(CancellationToken).

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

Remarques

Le ServiceBusProcessor 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 régulièrement les messages. L’expéditeur est chargé de garantir une utilisation efficace du réseau, du processeur et de la mémoire. L’appel DisposeAsync() sur l’associé ServiceBusClient lorsque l’application s’arrête garantit que les ressources réseau et les autres objets non managés utilisés par le processeur sont correctement nettoyés.

Constructeurs

ServiceBusProcessor()

Initialise une nouvelle instance de la classe pour la ServiceBusProcessor simulation.

ServiceBusProcessor(ServiceBusClient, String, ServiceBusProcessorOptions)

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

ServiceBusProcessor(ServiceBusClient, String, String, ServiceBusProcessorOptions)

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

Propriétés

AutoCompleteMessages

Obtient une valeur qui indique si le processeur doit terminer automatiquement les messages une fois le traitement du gestionnaire de messages terminé. 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’ID utilisé pour identifier ce processeur. Cela peut être utilisé pour mettre en corrélation les journaux et les exceptions.

IsClosed

Indique si cette ServiceBusProcessor 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 sera renouvelé automatiquement. Cette valeur doit être supérieure à la durée de verrouillage de message la plus longue ; par exemple, la propriété LockDuration.

MaxConcurrentCalls

Obtient le nombre maximal d’appels simultanés au gestionnaire de ProcessMessageAsync messages que le processeur doit lancer.

PrefetchCount

Obtient le nombre de messages qui seront vivement demandés à partir de files d’attente ou d’abonnements pendant le traitement. Cela est destiné à 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. La valeur par défaut est le mode PeekLock.

Méthodes

CloseAsync(CancellationToken)

Effectue la tâche nécessaire pour propre les ressources utilisées par .ServiceBusProcessor Tous les gestionnaires de messages en cours d’exécution seront attendus. Une fois la gestion des messages terminée, les liens sous-jacents sont fermés. Après ce point, la méthode retourne. Cela équivaut à appeler DisposeAsync().

DisposeAsync()

Effectue la tâche nécessaire pour propre les ressources utilisées par .ServiceBusProcessor Tous les gestionnaires de messages en cours d’exécution seront attendus. Une fois la gestion des messages terminée, les liens sous-jacents sont fermés. Après ce point, la méthode retourne. 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.

OnProcessMessageAsync(ProcessMessageEventArgs)

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.

StartProcessingAsync(CancellationToken)

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

StopProcessingAsync(CancellationToken)

Indique au processeur d’arrêter le traitement de la messagerie. 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 avoir appelé cette méthode, vous pouvez appeler StartProcessingAsync(CancellationToken).

UpdateConcurrency(Int32)

Mises à jour l’accès concurrentiel pour le processeur. Cette méthode peut être utilisée pour modifier dynamiquement l’accès concurrentiel 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 de la file d’attente ou de l’abonnement. L’implémentation est obligatoire.

S’applique à