次の方法で共有


MessageQueue.PeekByCorrelationId メソッド (String, TimeSpan)

指定した相関 ID と一致するメッセージをピークします。指定した相関 ID のメッセージがキューで利用可能になるか、タイムアウトが経過するまで待機します。

Overloads Public Function PeekByCorrelationId( _
   ByVal correlationId As String, _   ByVal timeout As TimeSpan _) As Message
[C#]
public Message PeekByCorrelationId(stringcorrelationId,TimeSpantimeout);
[C++]
public: Message* PeekByCorrelationId(String* correlationId,TimeSpantimeout);
[JScript]
public function PeekByCorrelationId(
   correlationId : String,timeout : TimeSpan) : Message;

パラメータ

  • correlationId
    ピークするメッセージの CorrelationId
  • timeout
    新しいメッセージを検査できるようになるまでの待機時間を示す TimeSpan

戻り値

渡された correlationId パラメータと一致する CorrelationId を持つ Message

例外

例外の種類 条件
ArgumentNullException correlationId パラメータが null 参照 (Visual Basic では Nothing) です。
ArgumentException timeout パラメータに指定した値が不正です。 timeoutTimeSpan.Zero よりも小さいか、 TimeSpan.MaxValue よりも大きい可能性があります。
InvalidOperationException 指定した correlationId を持つメッセージがキューに存在せず、タイムアウトが発生する前にキューに到達することもありませんでした。
MessageQueueException タイムアウトが経過する前にメッセージが到達しませんでした。

または

メッセージ キューの API にアクセスしたときにエラーが発生しました。

解説

このメソッドは、 MessageQueue が参照するキューで、 CorrelationId が指定した correlationId パラメータと一致するメッセージを検索します。 timeout パラメータで指定された時間内に correlationID パラメータと一致するメッセージが見つからない場合は、例外がスローされます。

キューに送信したメッセージを、関連付けられている応答、レポート、または受信確認の各メッセージと結び付ける場合は、 CorrelationId プロパティを使用します。

キューのメッセージをピークするメソッドは、他に 2 つあります。 Peek メソッドは、キューの最初のメッセージを返します。一意の ID を指定してメッセージを取得するには、 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.PeekByCorrelationId オーバーロードの一覧 | InfiniteTimeout | CorrelationId | Peek | PeekById | ReceiveByCorrelationId | BeginPeek