ISubscriptionClient Interface
Definition
SubscriptionClient can be used for all basic interactions with a Service Bus Subscription.
public interface ISubscriptionClient : Microsoft.Azure.ServiceBus.Core.IReceiverClient
type ISubscriptionClient = interface
interface IReceiverClient
interface IClientEntity
Public Interface ISubscriptionClient
Implements IReceiverClient
- Derived
- Implements
Examples
Create a new SubscriptionClient
ISubscriptionClient subscriptionClient = new SubscriptionClient(
namespaceConnectionString,
topicName,
subscriptionName,
ReceiveMode.PeekLock,
RetryExponential);
Register a message handler which will be invoked every time a message is received.
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;
});
Remarks
Use MessageReceiver for advanced set of functionality.
Properties
Path |
Gets the path of the IReceiverClient. This is either the name of the queue, or the full path of the subscription. (Inherited from IReceiverClient) |
PrefetchCount |
Prefetch speeds up the message flow by aiming to have a message readily available for local retrieval when and before the application asks for one using Receive. Setting a non-zero value prefetches PrefetchCount number of messages. Setting the value to zero turns prefetch off. Defaults to 0. (Inherited from IReceiverClient) |
ReceiveMode |
Gets the ReceiveMode of the current receiver. (Inherited from IReceiverClient) |
SubscriptionName |
Gets the name of subscription. |
TopicPath |
Gets the path of the topic, for this subscription. |
Methods
AbandonAsync(String, IDictionary<String,Object>) |
Abandons a Message using a lock token. This will make the message available again for processing. (Inherited from IReceiverClient) |
AddRuleAsync(RuleDescription) |
Adds a rule to the current subscription to filter the messages reaching from topic to the subscription. |
AddRuleAsync(String, Filter) |
Adds a rule to the current subscription to filter the messages reaching from topic to the subscription. |
CompleteAsync(String) |
Completes a Message using its lock token. This will delete the message from the queue. (Inherited from IReceiverClient) |
DeadLetterAsync(String, IDictionary<String,Object>) |
Moves a message to the deadletter sub-queue. (Inherited from IReceiverClient) |
DeadLetterAsync(String, String, String) |
Moves a message to the deadletter sub-queue. (Inherited from IReceiverClient) |
GetRulesAsync() |
Get all rules associated with the subscription. |
RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>) |
Receive messages continuously from the entity. Registers a message handler and begins a new thread to receive messages. This handler(Func<T1, T2, TResult>) is awaited on every time a new message is received by the receiver. (Inherited from IReceiverClient) |
RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions) |
Receive messages continuously from the entity. Registers a message handler and begins a new thread to receive messages. This handler(Func<T1, T2, TResult>) is awaited on every time a new message is received by the receiver. (Inherited from IReceiverClient) |
RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>) |
Receive session messages continuously from the subscription. Registers a message handler and begins a new thread to receive session-messages. This handler(Func<T1, T2, T3, TResult>) is awaited on every time a new message is received by the subscription client. |
RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, SessionHandlerOptions) |
Receive session messages continuously from the subscription. Registers a message handler and begins a new thread to receive session-messages. This handler(Func<T1, T2, T3, TResult>) is awaited on every time a new message is received by the subscription client. |
RemoveRuleAsync(String) |
Removes the rule on the subscription identified by |