メッセージ ID が id パラメータと一致するメッセージをピークします。メッセージがキューに出現するか、タイムアウトが発生するまで待機します。
Overloads Public Function PeekById( _
ByVal id As String, _ ByVal timeout As TimeSpan _) As Message
[C#]
public Message PeekById(stringid,TimeSpantimeout);
[C++]
public: Message* PeekById(String* id,TimeSpantimeout);
[JScript]
public function PeekById(
id : String,timeout : TimeSpan) : Message;
パラメータ
戻り値
id パラメータと一致する Id プロパティを持つ Message 。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | id パラメータが null 参照 (Visual Basic では Nothing) です。 |
ArgumentException | timeout パラメータに指定した値が不正です。 timeout が TimeSpan.Zero よりも小さいか、 TimeSpan.MaxValue よりも大きい可能性があります。 |
InvalidOperationException | 指定した id のメッセージがキューに存在せず、 timeout パラメータで指定した時間が経過する前にキューに到達しませんでした。 |
MessageQueueException | メッセージ キューの API にアクセスしたときにエラーが発生しました。 |
解説
PeekById を使用して、既知のメッセージ ID を持つメッセージをキューから削除せずに読み取ります。メッセージの ID は、メッセージ キュー エンタープライズを通じて一意です。そのため、指定された id パラメータと一致するメッセージは、キューに 1 つしか存在しません。現在、キューにメッセージが含まれていない場合、タイムアウトが発生する前にメッセージが到達しない場合、このオーバーロードは例外をスローします。
キューのメッセージをピークするメソッドは、他に 2 つあります。 Peek と PeekByCorrelationId です。 Peek メソッドは、キューの最初のメッセージを返します。 PeekByCorrelationId メソッドは、メッセージがキューに送信されたときに作成された、受信確認、レポート、アプリケーション生成の応答のメッセージを返します。
このメソッドが各種のワークグループ モードで使用できるかどうかを次の表に示します。
ワークグループ モード | 使用可否 |
---|---|
ローカル コンピュータ | はい |
ローカル コンピュータ + 直接書式名 | はい |
リモート コンピュータ | いいえ |
リモート コンピュータ + 直接書式名 | はい |
必要条件
プラットフォーム: 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.PeekById オーバーロードの一覧 | InfiniteTimeout | Id | Peek | PeekByCorrelationId | ReceiveById | BeginPeek