次の方法で共有


MessageQueue.ReceiveById メソッド (String)

指定した ID と一致するメッセージを非トランザクション キューから受信します。現在、指定した ID と一致するメッセージがキューに存在しない場合は、すぐに例外を発生させます。

Overloads Public Function ReceiveById( _
   ByVal id As String _) As Message
[C#]
public Message ReceiveById(stringid);
[C++]
public: Message* ReceiveById(String* id);
[JScript]
public function ReceiveById(
   id : String) : Message;

パラメータ

  • id
    受信するメッセージの Id

戻り値

渡された id パラメータと一致する Id プロパティを持つ Message

例外

例外の種類 条件
ArgumentNullException id パラメータが null 参照 (Visual Basic では Nothing) です。
InvalidOperationException 指定した id を持つメッセージは見つかりませんでした。
MessageQueueException メッセージ キューの API にアクセスしたときにエラーが発生しました。

解説

このメソッドを使用して、既知の識別子の付いたメッセージを読み取り、キューから削除します。メッセージがキューにない場合、このメソッドはすぐに例外をスローします。

メッセージの Id プロパティは、メッセージ キュー エンタープライズを通じて一意です。そのため、指定された id パラメータと一致するメッセージは、キューに 1 つしか存在しません。 .

その他の 2 つのメソッドを使用すると、キューからメッセージを受信できます。 Receive メソッドは、キューの最初のメッセージを返します。メッセージがキューに送信されたときに作成された受信確認メッセージ、レポート メッセージ、アプリケーションが生成した応答メッセージを取得するには、 ReceiveByCorrelationId メソッドを使用します。

指定した識別子を持つメッセージをキューから削除せずに読み取るには、 PeekById メソッドを使用します。 PeekById メソッドは、常にキューの最初のメッセージを返します。そのため、より優先順位の高いメッセージがそのキューに到達するまで、後続の呼び出しでも同じメッセージが返されます。

このメソッドが各種のワークグループ モードで使用できるかどうかを次の表に示します。

ワークグループ モード 使用可否
ローカル コンピュータ はい
ローカル コンピュータ + 直接書式名 はい
リモート コンピュータ いいえ
リモート コンピュータ + 直接書式名 はい

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

MessageQueue クラス | MessageQueue メンバ | System.Messaging 名前空間 | MessageQueue.ReceiveById オーバーロードの一覧 | Receive | ReceiveByCorrelationId | Peek | BeginReceive