次の方法で共有


SubscriptionClient クラス

定義

SubscriptionClient は、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
継承
SubscriptionClient
実装

新しい 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;
       });

注釈

これは、サービス バスとの通信に AMQP プロトコルを使用します。 高度な機能セットに使用 MessageReceiver します。

コンストラクター

SubscriptionClient(ServiceBusConnection, String, String, ReceiveMode, RetryPolicy)

特定の にサブスクリプション クライアントの新しいインスタンスを作成します。 ServiceBusConnection

SubscriptionClient(ServiceBusConnectionStringBuilder, String, ReceiveMode, RetryPolicy)

サブスクリプションに対して操作を実行する新しい SubscriptionClient をインスタンス化します。

SubscriptionClient(String, String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy)

指定したエンドポイント、エンティティ パス、トークン プロバイダーを使用して、サブスクリプション クライアントの新しいインスタンスを作成します。

SubscriptionClient(String, String, String, ReceiveMode, RetryPolicy)

サブスクリプションに対して操作を実行する新しい SubscriptionClient をインスタンス化します。

プロパティ

ClientId

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

(継承元 ClientEntity)
IsClosedOrClosing

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

(継承元 ClientEntity)
OperationTimeout

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

OwnsConnection

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

(継承元 ClientEntity)
Path

サブスクリプション クライアントの書式設定されたパスを取得します。

PrefetchCount

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

ReceiveMode

SubscriptionClient の を ReceiveMode 取得します。

RegisteredPlugins

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

RetryPolicy

クライアントで定義されている RetryPolicy を取得します。

(継承元 ClientEntity)
ServiceBusConnection

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

SubscriptionName

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

TopicPath

対応するトピックのパスを取得します。

メソッド

AbandonAsync(String, IDictionary<String,Object>)

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

AddRuleAsync(RuleDescription)

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

AddRuleAsync(String, Filter)

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

CloseAsync()

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

(継承元 ClientEntity)
CompleteAsync(String)

ロック トークンを使用して を Message 完了します。 これにより、サブスクリプションからメッセージが削除されます。

DeadLetterAsync(String)

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

DeadLetterAsync(String, IDictionary<String,Object>)

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

DeadLetterAsync(String, String, String)

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

GetRulesAsync()

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

OnClosingAsync()

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

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

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

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

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

RegisterPlugin(ServiceBusPlugin)

ServiceBusPlugin Service Bus からメッセージを受信するために使用する を登録します。

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削除します。

ThrowIfClosed()

オブジェクトが Closing の場合は、OperationCanceledException をスローします。

(継承元 ClientEntity)
UnregisterMessageHandlerAsync(TimeSpan)

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

UnregisterPlugin(String)

の登録を ServiceBusPlugin解除します。

UnregisterSessionHandlerAsync(TimeSpan)

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

適用対象