ISubscriptionClient インターフェイス

定義

SubscriptionClient は、Service Bus サブスクリプションとのすべての基本的な操作に使用できます。

public interface ISubscriptionClient : Microsoft.Azure.ServiceBus.Core.IReceiverClient
type ISubscriptionClient = interface
    interface IReceiverClient
    interface IClientEntity
Public Interface ISubscriptionClient
Implements IReceiverClient
派生
実装

新しい SubscriptionClient を作成する

ISubscriptionClient subscriptionClient = new SubscriptionClient(
    namespaceConnectionString,
    topicName,
    subscriptionName,
    ReceiveMode.PeekLock,
    RetryExponential);

メッセージを受信するたびに呼び出されるメッセージ ハンドラーを登録します。

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;
       });

注釈

高度な機能セットに使用 MessageReceiver します。

プロパティ

ClientId

このクライアントを識別する ID を取得します。 これは、ログと例外を関連付けるために使用できます。

(継承元 IClientEntity)
IsClosedOrClosing

クライアントが閉じているか閉じている場合は true を返します。

(継承元 IClientEntity)
OperationTimeout

個々の操作がタイムアウトする期間。

(継承元 IClientEntity)
OwnsConnection

接続が所有されている場合は true、接続が共有されている場合は false を返します。

(継承元 IClientEntity)
Path

エンティティ パスを取得します。

(継承元 IClientEntity)
PrefetchCount

プリフェッチは、アプリケーションが Receive を使用してメッセージを要求する前に、ローカル取得のためにメッセージをすぐに使用できるようにすることで、メッセージ フローを高速化します。 0 以外の値を設定すると、メッセージのプリフェッチ数がプリフェッチされます。 値を 0 に設定すると、プリフェッチがオフになります。 既定値は 0 です。

(継承元 IReceiverClient)
ReceiveMode

ReceiveMode現在のレシーバーの を取得します。

(継承元 IReceiverClient)
RegisteredPlugins

このクライアントの現在登録されているプラグインの一覧を取得します。

(継承元 IClientEntity)
ServiceBusConnection

Service Bus 名前空間への接続オブジェクト。

(継承元 IClientEntity)
SubscriptionName

サブスクリプションの名前を取得します。

TopicPath

このサブスクリプションのトピックのパスを取得します。

メソッド

AbandonAsync(String, IDictionary<String,Object>)

ロック トークンを使用して を Message 破棄します。 これにより、メッセージを再び処理できるようになります。

(継承元 IReceiverClient)
AddRuleAsync(RuleDescription)

現在のサブスクリプションにルールを追加して、トピックからサブスクリプションに到達するメッセージをフィルター処理します。

AddRuleAsync(String, Filter)

現在のサブスクリプションにルールを追加して、トピックからサブスクリプションに到達するメッセージをフィルター処理します。

CloseAsync()

クライアントを閉じます。 その接続によって開かれた接続を閉じます。

(継承元 IClientEntity)
CompleteAsync(String)

ロック トークンを使用して を Message 完了します。 これにより、キューからメッセージが削除されます。

(継承元 IReceiverClient)
DeadLetterAsync(String, IDictionary<String,Object>)

メッセージを配信不能サブキューに移動します。

(継承元 IReceiverClient)
DeadLetterAsync(String, String, String)

メッセージを配信不能サブキューに移動します。

(継承元 IReceiverClient)
GetRulesAsync()

サブスクリプションに関連付けられているすべてのルールを取得します。

RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>)

エンティティからメッセージを継続的に受信します。 メッセージ ハンドラーを登録し、メッセージを受信する新しいスレッドを開始します。 このハンドラー(Func<T1,T2,TResult>) は、受信者が新しいメッセージを受信するたびに待機されます。

(継承元 IReceiverClient)
RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions)

エンティティからメッセージを継続的に受信します。 メッセージ ハンドラーを登録し、メッセージを受信する新しいスレッドを開始します。 このハンドラー(Func<T1,T2,TResult>) は、受信者が新しいメッセージを受信するたびに待機されます。

(継承元 IReceiverClient)
RegisterPlugin(ServiceBusPlugin)

ServiceBusPluginこのクライアントで使用する を登録します。

(継承元 IClientEntity)
RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>)

サブスクリプションからセッション メッセージを継続的に受信します。 メッセージ ハンドラーを登録し、セッション メッセージを受信する新しいスレッドを開始します。 この handler(Func<T1,T2,T3,TResult>) は、サブスクリプション クライアントによって新しいメッセージが受信されるたびに待機されます。

RegisterSessionHandler(Func<IMessageSession,Message,CancellationToken,Task>, SessionHandlerOptions)

サブスクリプションからセッション メッセージを継続的に受信します。 メッセージ ハンドラーを登録し、セッション メッセージを受信する新しいスレッドを開始します。 この handler(Func<T1,T2,T3,TResult>) は、サブスクリプション クライアントによって新しいメッセージが受信されるたびに待機されます。

RemoveRuleAsync(String)

によって識別されるサブスクリプションのルールを ruleName削除します。

UnregisterMessageHandlerAsync(TimeSpan)

アクティブなメッセージ ハンドラーが登録されている場合は、受信側からメッセージ ハンドラーの登録を解除します。 この操作は、未完了の受信操作とメッセージ処理操作の完了を待機し、以前に登録したメッセージ ハンドラーで将来の受信を登録解除します。

(継承元 IReceiverClient)
UnregisterPlugin(String)

の登録を ServiceBusPlugin解除します。

(継承元 IClientEntity)
UnregisterSessionHandlerAsync(TimeSpan)

アクティブなセッション ハンドラーが登録されている場合は、レシーバーからセッション ハンドラーの登録を解除します。 この操作は、未完了の受信操作とセッション処理操作の完了を待機し、以前に登録したセッション ハンドラーで将来の受信を登録解除します。

適用対象