指定した 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