Share via


IMessageReceiver インターフェイス

定義

MessageReceiver を使用して、キューとサブスクリプションからメッセージを受信し、それらを確認できます。

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

サブスクリプションからメッセージを受信する新しい MessageReceiver を作成する

IMessageReceiver messageReceiver = new MessageReceiver(
    namespaceConnectionString,
    EntityNameHelper.FormatSubscriptionPath(topicName, subscriptionName),
    ReceiveMode.PeekLock);

サブスクリプションからメッセージを受信します。

var message = await messageReceiver.ReceiveAsync();
await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);

注釈

MessageReceiver には、 または SubscriptionClientQueueClientはない高度な機能が用意されています。 たとえば、 ReceiveAsync()では、必要に応じてメッセージを受信できますが、 を使用して RenewLockAsync(Message)ロックを手動で更新する必要もあります。

プロパティ

ClientId

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

(継承元 IClientEntity)
IsClosedOrClosing

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

(継承元 IClientEntity)
LastPeekedSequenceNumber

最後にピークされたメッセージのシーケンス番号を取得します。

OperationTimeout

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

(継承元 IClientEntity)
OwnsConnection

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

(継承元 IClientEntity)
Path

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

(継承元 IClientEntity)
PrefetchCount

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

(継承元 IReceiverClient)
ReceiveMode

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

(継承元 IReceiverClient)
RegisteredPlugins

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

(継承元 IClientEntity)
ServiceBusConnection

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

(継承元 IClientEntity)

メソッド

AbandonAsync(String, IDictionary<String,Object>)

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

(継承元 IReceiverClient)
CloseAsync()

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

(継承元 IClientEntity)
CompleteAsync(IEnumerable<String>)

ロック トークンの Message 一覧を使用して一連のを完了します。 これにより、サービスからメッセージが削除されます。

CompleteAsync(String)

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

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

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

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

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

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

受信側がメッセージの処理を延期することを示します。

PeekAsync()

受信側またはメッセージ・ソースの状態を変更せずに、次のアクティブ・メッセージをフェッチします。

PeekAsync(Int32)

受信側またはメッセージ・ソースの状態を変更せずに、アクティブ・メッセージの次のバッチをフェッチします。

PeekBySequenceNumberAsync(Int64)

受信側またはメッセージ ソースの状態を変更せずに、次のメッセージを非同期に読み取ります。

PeekBySequenceNumberAsync(Int64, Int32)

メッセージのバッチをピークします。

ReceiveAsync()

モードを使用して定義されたエンティティからメッセージをPathReceiveMode受信します。

ReceiveAsync(Int32)

モードを使用してPath定義されたエンティティから最大メッセージmaxMessageCountReceiveMode受信します。

ReceiveAsync(Int32, TimeSpan)

モードを使用してPath定義されたエンティティから最大メッセージmaxMessageCountReceiveMode受信します。

ReceiveAsync(TimeSpan)

モードを使用して定義されたエンティティからメッセージをPathReceiveMode受信します。

ReceiveDeferredMessageAsync(IEnumerable<Int64>)

IList<T>によってsequenceNumbers識別される遅延メッセージの を受信します。

ReceiveDeferredMessageAsync(Int64)

によって sequenceNumber識別される特定の遅延メッセージを受信します。

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)
RenewLockAsync(Message)

メッセージのロックを更新します。 ロックは、キューで指定された設定に基づいて更新されます。

RenewLockAsync(String)

メッセージのロックを更新します。 ロックは、キューで指定された設定に基づいて更新されます。 新しいロック トークンの有効期限の日付と時刻 (UTC 形式)。

UnregisterMessageHandlerAsync(TimeSpan)

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

(継承元 IReceiverClient)
UnregisterPlugin(String)

の登録を ServiceBusPlugin解除します。

(継承元 IClientEntity)

適用対象

こちらもご覧ください