SubscriptionClient Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
SubscriptionClient se puede usar para todas las interacciones básicas con una suscripción de Service Bus.
public class SubscriptionClient : Microsoft.Azure.ServiceBus.ClientEntity, Microsoft.Azure.ServiceBus.ISubscriptionClient
type SubscriptionClient = class
inherit ClientEntity
interface ISubscriptionClient
interface IReceiverClient
interface IClientEntity
Public Class SubscriptionClient
Inherits ClientEntity
Implements ISubscriptionClient
- Herencia
- Implementaciones
Ejemplos
Creación de un nuevo subscriptionClient
ISubscriptionClient subscriptionClient = new SubscriptionClient(
namespaceConnectionString,
topicName,
subscriptionName,
ReceiveMode.PeekLock,
RetryExponential);
Registre un controlador de mensajes que se invocará cada vez que se reciba un mensaje.
subscriptionClient.RegisterMessageHandler(
async (message, token) =>
{
// Process the message
Console.WriteLine($"Received message: SequenceNumber:{message.SystemProperties.SequenceNumber} Body:{Encoding.UTF8.GetString(message.Body)}");
// Complete the message so that it is not received again.
// This can be done only if the subscriptionClient is opened in ReceiveMode.PeekLock mode.
await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);
},
async (exceptionEvent) =>
{
// Process the exception
Console.WriteLine("Exception = " + exceptionEvent.Exception);
return Task.CompletedTask;
});
Comentarios
Usa el protocolo AMQP para comunicarse con Service Bus. Se usa MessageReceiver para un conjunto avanzado de funcionalidades.
Constructores
SubscriptionClient(ServiceBusConnection, String, String, ReceiveMode, RetryPolicy) |
Crea una nueva instancia del cliente de suscripción en un determinado ServiceBusConnection |
SubscriptionClient(ServiceBusConnectionStringBuilder, String, ReceiveMode, RetryPolicy) |
Crea una instancia de una nueva SubscriptionClient para realizar operaciones en una suscripción. |
SubscriptionClient(String, String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy) |
Crea una nueva instancia del cliente de suscripción mediante el punto de conexión, la ruta de acceso de entidad y el proveedor de tokens especificados. |
SubscriptionClient(String, String, String, ReceiveMode, RetryPolicy) |
Crea una instancia de una nueva SubscriptionClient para realizar operaciones en una suscripción. |
Propiedades
ClientId |
Obtiene el identificador para identificar este cliente. Esto se puede usar para correlacionar registros y excepciones. (Heredado de ClientEntity) |
IsClosedOrClosing |
Devuelve true si el cliente está cerrado o cerrado. (Heredado de ClientEntity) |
OperationTimeout |
Duración después de la cual se agotado el tiempo de espera de las operaciones individuales. |
OwnsConnection |
Devuelve true si la conexión es propiedad y false si se comparte la conexión. (Heredado de ClientEntity) |
Path |
Obtiene la ruta de acceso con formato del cliente de suscripción. |
PrefetchCount |
La captura previa acelera el flujo de mensajes apuntando a tener un mensaje disponible para la recuperación local cuando y antes de que la aplicación solicite una mediante Receive. Si se establece un valor distinto de cero, se captura previamente el número de mensajes PrefetchCount. Al establecer el valor en cero, se desactiva la captura previa. El valor predeterminado es 0. |
ReceiveMode |
Obtiene para ReceiveMode SubscriptionClient. |
RegisteredPlugins |
Obtiene una lista de complementos registrados actualmente para este SubscriptionClient. |
RetryPolicy |
Obtiene el RetryPolicy objeto definido en el cliente. (Heredado de ClientEntity) |
ServiceBusConnection |
Objeto de conexión al espacio de nombres de Service Bus. |
SubscriptionName |
Obtiene el nombre de la suscripción. |
TopicPath |
Obtiene la ruta de acceso del tema correspondiente. |
Métodos
AbandonAsync(String, IDictionary<String,Object>) |
Abandona un Message mediante un token de bloqueo. Esto hará que el mensaje esté disponible de nuevo para su procesamiento. |
AddRuleAsync(RuleDescription) |
Agrega una regla a la suscripción actual para filtrar los mensajes que llegan del tema a la suscripción. |
AddRuleAsync(String, Filter) |
Agrega una regla a la suscripción actual para filtrar los mensajes que llegan del tema a la suscripción. |
CloseAsync() |
Cierra el cliente. Cierra las conexiones abiertas por ella. (Heredado de ClientEntity) |
CompleteAsync(String) |
Completa un Message objeto mediante su token de bloqueo. Esto eliminará el mensaje de la suscripción. |
DeadLetterAsync(String) |
Mueve un mensaje a la sub cola de mensajes fallidos. |
DeadLetterAsync(String, IDictionary<String,Object>) |
Mueve un mensaje a la sub cola de mensajes fallidos. |
DeadLetterAsync(String, String, String) |
Mueve un mensaje a la sub cola de mensajes fallidos. |
GetRulesAsync() |
Obtenga todas las reglas asociadas a la suscripción. |
OnClosingAsync() |
SubscriptionClient se puede usar para todas las interacciones básicas con una suscripción de Service Bus. |
RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>) |
Recibir mensajes continuamente de la entidad. Registra un controlador de mensajes y comienza un nuevo subproceso para recibir mensajes. El receptor recibe este controlador(Func<T1,T2,TResult>) cada vez que el receptor recibe un nuevo mensaje. |
RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions) |
Recibir mensajes continuamente de la entidad. Registra un controlador de mensajes y comienza un nuevo subproceso para recibir mensajes. El receptor recibe este controlador(Func<T1,T2,TResult>) cada vez que el receptor recibe un nuevo mensaje. |
RegisterPlugin(ServiceBusPlugin) |
Registra un ServiceBusPlugin objeto que se va a usar para recibir mensajes de Service Bus. |
RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>) |
Recibir mensajes de sesión continuamente de la cola. Registra un controlador de mensajes y comienza un nuevo subproceso para recibir mensajes de sesión. El cliente de suscripción recibe este controlador(Func<T1,T2,T3,TResult>) cada vez que el cliente de suscripción recibe un nuevo mensaje. |
RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, SessionHandlerOptions) |
Recibir mensajes de sesión continuamente de la cola. Registra un controlador de mensajes y comienza un nuevo subproceso para recibir mensajes de sesión. El cliente de suscripción recibe este controlador(Func<T1,T2,T3,TResult>) cada vez que el cliente de suscripción recibe un nuevo mensaje. |
RemoveRuleAsync(String) |
Quita la regla de la suscripción identificada por |
ThrowIfClosed() |
Inicie una excepción OperationCanceledException si el objeto es Closing. (Heredado de ClientEntity) |
UnregisterMessageHandlerAsync(TimeSpan) |
Anule el registro del controlador de mensajes del receptor si hay un controlador de mensajes activo registrado. Esta operación espera a que finalicen las operaciones de recepción y control de mensajes para finalizar y anular el registro de las futuras recepciones en el controlador de mensajes que se registró anteriormente. |
UnregisterPlugin(String) |
Anula el registro de un ServiceBusPluginobjeto . |
UnregisterSessionHandlerAsync(TimeSpan) |
Anule el registro del controlador de sesión del receptor si hay un controlador de sesión activo registrado. Esta operación espera a que finalicen las operaciones de recepción y control de sesiones para finalizar y anular el registro de las futuras recepciones en el controlador de sesión que se registró anteriormente. |
Se aplica a
Azure SDK for .NET