ServiceBusProcessor Clase

Definición

ServiceBusProcessor proporciona una abstracción en torno a un conjunto de ServiceBusReceiver que permite usar un modelo basado en eventos para el procesamiento recibidoServiceBusReceivedMessage. Se construye mediante una llamada a CreateProcessor(String, ServiceBusProcessorOptions). El controlador de mensajes se especifica con la ProcessMessageAsync propiedad . El controlador de errores se especifica con la ProcessErrorAsync propiedad . Para iniciar el procesamiento después de especificar los controladores, llame a StartProcessingAsync(CancellationToken).

public class ServiceBusProcessor : IAsyncDisposable
type ServiceBusProcessor = class
    interface IAsyncDisposable
Public Class ServiceBusProcessor
Implements IAsyncDisposable
Herencia
ServiceBusProcessor
Implementaciones

Comentarios

ServiceBusProcessor es seguro almacenar en caché y usar durante la vigencia de una aplicación o hasta que se elimine el ServiceBusClient objeto que creó. Se recomienda almacenar en caché el procesador cuando la aplicación procesa los mensajes con regularidad. El remitente es responsable de garantizar un uso eficaz de la red, la CPU y la memoria. Al llamar DisposeAsync() a en el asociado ServiceBusClient a medida que se cierra la aplicación, se asegurará de que los recursos de red y otros objetos no administrados usados por el procesador se limpien correctamente.

Constructores

ServiceBusProcessor()

Inicializa una nueva instancia de la ServiceBusProcessor clase para simular.

ServiceBusProcessor(ServiceBusClient, String, ServiceBusProcessorOptions)

Inicializa una nueva instancia de la ServiceBusProcessor clase para su uso con tipos derivados.

ServiceBusProcessor(ServiceBusClient, String, String, ServiceBusProcessorOptions)

Inicializa una nueva instancia de la ServiceBusProcessor clase para su uso con tipos derivados.

Propiedades

AutoCompleteMessages

Obtiene un valor que indica si el procesador debe completar automáticamente los mensajes después de que el controlador de mensajes haya completado el procesamiento. Si el controlador de mensajes desencadena una excepción, el mensaje no se completará automáticamente.

EntityPath

Obtiene la ruta de acceso de la entidad de Service Bus a la que está conectado el procesador, específico del espacio de nombres de Service Bus que lo contiene.

FullyQualifiedNamespace

Obtiene el espacio de nombres completo de Service Bus al que está asociado el receptor. Es probable que sea similar a {yournamespace}.servicebus.windows.net.

Identifier

Obtiene el identificador utilizado para identificar este procesador. Se puede usar para correlacionar registros y excepciones.

IsClosed

Indica si se ServiceBusProcessor ha cerrado o no.

IsProcessing

Obtiene si este procesador está procesando o no los mensajes.

MaxAutoLockRenewalDuration

Obtiene la duración máxima dentro de la cual el bloqueo se renovará automáticamente. Este valor debe ser mayor que la duración más larga del bloqueo de mensajes; por ejemplo, la propiedad LockDuration.

MaxConcurrentCalls

Obtiene el número máximo de llamadas simultáneas al ProcessMessageAsync controlador de mensajes que debe iniciar el procesador.

PrefetchCount

Obtiene el número de mensajes que se solicitarán diligentemente desde colas o suscripciones durante el procesamiento. Esto está pensado para ayudar a maximizar el rendimiento al permitir que el procesador reciba de una caché local en lugar de esperar una solicitud de servicio.

ReceiveMode

Obtiene el ReceiveMode objeto utilizado para especificar cómo se reciben los mensajes. El valor predeterminado es el modo PeekLock.

Métodos

CloseAsync(CancellationToken)

Realiza la tarea necesaria para limpiar los recursos utilizados por .ServiceBusProcessor Se esperará a los controladores de mensajes en curso. Una vez completado todo el control de mensajes, se cerrarán los vínculos subyacentes. Después de este punto, se devolverá el método . Esto equivale a llamar a DisposeAsync().

DisposeAsync()

Realiza la tarea necesaria para limpiar los recursos utilizados por .ServiceBusProcessor Se esperará a los controladores de mensajes en curso. Una vez completado todo el control de mensajes, se cerrarán los vínculos subyacentes. Después de este punto, se devolverá el método . Esto equivale a llamar a CloseAsync(CancellationToken).

OnProcessErrorAsync(ProcessErrorEventArgs)

Invoca el controlador de eventos de error cuando se ha producido un error durante el procesamiento. Este método se puede invalidar para generar un evento manualmente con fines de prueba.

OnProcessMessageAsync(ProcessMessageEventArgs)

Invoca el controlador de eventos de mensaje de proceso después de recibir un mensaje. Este método se puede invalidar para generar un evento manualmente con fines de prueba.

StartProcessingAsync(CancellationToken)

Indica al procesador que empiece a procesar los mensajes. Si se llama a este método mientras el procesador ya está en ejecución, se produce una InvalidOperationException excepción .

StopProcessingAsync(CancellationToken)

Indica al procesador que detenga el procesamiento de la mensajería. Si se llama a este método mientras el procesador no se está ejecutando, no se realiza ninguna acción. Este método no cerrará los receptores subyacentes, pero hará que los receptores dejen de recibirse. Se esperará a los controladores de mensajes en curso y este método no volverá hasta que se hayan devuelto todos los controladores de mensajes en curso. Para cerrar los receptores subyacentes, CloseAsync(CancellationToken) se debe llamar a . Si CloseAsync(CancellationToken) se llama a , no se puede reiniciar el procesador. Si desea reanudar el procesamiento en algún momento después de llamar a este método, puede llamar a StartProcessingAsync(CancellationToken).

UpdateConcurrency(Int32)

Novedades la simultaneidad del procesador. Este método se puede usar para cambiar dinámicamente la simultaneidad de un procesador en ejecución.

UpdatePrefetchCount(Int32)

Novedades el recuento de capturas previas para el procesador. Este método se puede usar para cambiar dinámicamente el recuento de capturas previas de un procesador en ejecución.

Eventos

ProcessErrorAsync

Controlador responsable del procesamiento de excepciones no controladas iniciadas mientras se ejecuta este procesador. La implementación es obligatoria.

ProcessMessageAsync

El controlador responsable de procesar los mensajes recibidos de la cola o la suscripción. La implementación es obligatoria.

Se aplica a