IQueueClient インターフェイス

定義

QueueClient は、Service Bus キューとのすべての基本的な操作に使用できます。

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

新しい QueueClient を作成する

IQueueClient queueClient = new QueueClient(
    namespaceConnectionString,
    queueName,
    ReceiveMode.PeekLock,
    RetryExponential);

キューにメッセージを送信します。

byte[] data = GetData();
await queueClient.SendAsync(data);

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

queueClient.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 queueClient is opened in ReceiveMode.PeekLock mode.
           await queueClient.CompleteAsync(message.SystemProperties.LockToken);
       },
       async (exceptionEvent) =>
       {
           // Process the exception
           Console.WriteLine("Exception = " + exceptionEvent.Exception);
           return Task.CompletedTask;
       });

注釈

または IMessageReceiver を高度な機能セットに使用IMessageSenderします。

プロパティ

ClientId

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

(継承元 IClientEntity)
IsClosedOrClosing

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

(継承元 IClientEntity)
OperationTimeout

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

(継承元 IClientEntity)
OwnsConnection

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

(継承元 IClientEntity)
Path

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

(継承元 IClientEntity)
PrefetchCount

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

(継承元 IReceiverClient)
QueueName

キューの名前を取得します。

ReceiveMode

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

(継承元 IReceiverClient)
RegisteredPlugins

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

(継承元 IClientEntity)
ServiceBusConnection

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

(継承元 IClientEntity)

メソッド

AbandonAsync(String, IDictionary<String,Object>)

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

(継承元 IReceiverClient)
CancelScheduledMessageAsync(Int64)

スケジュールされたメッセージを取り消します。

(継承元 ISenderClient)
CloseAsync()

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

(継承元 IClientEntity)
CompleteAsync(String)

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

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

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

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

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

(継承元 IReceiverClient)
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>) は、キュー クライアントによって新しいメッセージが受信されるたびに待機されます。

ScheduleMessageAsync(Message, DateTimeOffset)

Service Bus にメッセージを表示するようにスケジュールします。

(継承元 ISenderClient)
SendAsync(IList<Message>)

メッセージの一覧を Service Bus に送信します。 パーティション分割されたエンティティで呼び出されると、異なるパーティション用のメッセージを一緒にバッチ処理することはできません。

(継承元 ISenderClient)
SendAsync(Message)

Service Bus にメッセージを送信します。

(継承元 ISenderClient)
UnregisterMessageHandlerAsync(TimeSpan)

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

(継承元 IReceiverClient)
UnregisterPlugin(String)

の登録を ServiceBusPlugin解除します。

(継承元 IClientEntity)
UnregisterSessionHandlerAsync(TimeSpan)

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

適用対象

こちらもご覧ください