MessageQueue.PeekById メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したメッセージ ID を持つメッセージのコピーを返します。メッセージはキューから削除されません。
オーバーロード
PeekById(String) |
メッセージ ID が |
PeekById(String, TimeSpan) |
メッセージ ID が |
PeekById(String)
メッセージ ID が id
パラメーターと一致するメッセージをピークします。
public:
System::Messaging::Message ^ PeekById(System::String ^ id);
public System.Messaging.Message PeekById (string id);
member this.PeekById : string -> System.Messaging.Message
Public Function PeekById (id As String) As Message
パラメーター
戻り値
id
パラメーターと一致する Id プロパティを持つ Message。
例外
id
パラメーターが null
です。
指定した id
を持つメッセージが存在しません。
メッセージ キューのメソッドにアクセスしたときにエラーが発生しました。
例
次のコード例は、PeekById(String) の使用方法を示します。
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new message.
Message^ msg = gcnew Message("Example Message Body");
// Send the message.
queue->Send(msg, "Example Message Label");
// Get the message's Id property value.
String^ id = msg->Id;
// Simulate doing other work so the message has time to arrive.
System::Threading::Thread::Sleep(TimeSpan::FromSeconds(10.0));
// Peek at the message.
msg = queue->PeekById(id);
queue->Close();
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new message.
Message msg = new Message("Example Message Body");
// Send the message.
queue.Send(msg, "Example Message Label");
// Get the message's Id property value.
string id = msg.Id;
// Simulate doing other work so the message has time to arrive.
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(10.0));
// Peek at the message.
msg = queue.PeekById(id);
注釈
を使用して PeekById(String) 、既知のメッセージ識別子を持つメッセージをキューから削除せずに読み取ります。 メッセージの識別子はメッセージ キュー エンタープライズ全体で一意であるため、指定されたパラメーターに一致 id
するメッセージがキュー内に最大 1 つ存在します。 キューにメッセージが現在含まれていない場合、このオーバーロードは例外をスローします。
2 つの追加メソッドを使用すると、キュー内のメッセージをピークできます。 Peek と PeekByCorrelationId(String)。 メソッドは Peek 、キュー内の最初のメッセージを返します PeekByCorrelationId(String) 。キューに送信されたメッセージの結果として作成された受信確認、レポート、またはアプリケーションによって生成された応答メッセージを返します。
次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。
ワークグループ モード | 利用可能 |
---|---|
ローカル コンピューター | はい |
ローカル コンピューターと直接形式の名前 | はい |
リモート コンピューター | いいえ |
リモート コンピューターと直接形式の名前 | はい |
こちらもご覧ください
適用対象
PeekById(String, TimeSpan)
メッセージ ID が id
パラメーターと一致するメッセージをピークします。 メッセージがキューに出現するか、タイムアウトが発生するまで待機します。
public:
System::Messaging::Message ^ PeekById(System::String ^ id, TimeSpan timeout);
public System.Messaging.Message PeekById (string id, TimeSpan timeout);
member this.PeekById : string * TimeSpan -> System.Messaging.Message
Public Function PeekById (id As String, timeout As TimeSpan) As Message
パラメーター
戻り値
id
パラメーターと一致する Id プロパティを持つ Message。
例外
id
パラメーターが null
です。
timeout
パラメーターに指定した値が無効です。timeout
が Zero よりも小さいか、InfiniteTimeout よりも大きい可能性があります。
指定した id
のメッセージがキューに存在せず、timeout
パラメーターで指定した時間が経過する前にキューに到達しませんでした。
メッセージ キューのメソッドにアクセスしたときにエラーが発生しました。
例
次のコード例は、PeekById(String, TimeSpan) の使用方法を示します。
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new message.
Message^ msg = gcnew Message("Example Message Body");
// Send the message.
queue->Send(msg, "Example Message Label");
// Get the message's Id property value.
String^ id = msg->Id;
// Peek at the message.
msg = queue->PeekById(id, TimeSpan::FromSeconds(10.0));
queue->Close();
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new message.
Message msg = new Message("Example Message Body");
// Send the message.
queue.Send(msg, "Example Message Label");
// Get the message's Id property value.
string id = msg.Id;
// Peek at the message.
msg = queue.PeekById(id, TimeSpan.FromSeconds(10.0));
注釈
を使用して PeekById(String) 、既知のメッセージ識別子を持つメッセージをキューから削除せずに読み取ります。 メッセージの識別子はメッセージ キュー エンタープライズ全体で一意であるため、指定されたパラメーターに一致 id
するメッセージがキュー内に最大 1 つ存在します。 キューにメッセージが現在含まれていない場合、タイムアウトが発生する前に新しいメッセージが到着しない場合、このオーバーロードは例外をスローします。
パラメーターでは timeout
、このメソッドの合計実行時間は指定されません。 代わりに、新しいメッセージがキューに到着するまでの時間を指定します。 新しいメッセージが到着するたびに、このメソッドは新しいメッセージの を Id 調べて、 パラメーターと一致 id
するかどうかを確認します。 そうでない場合、このメソッドはタイムアウト期間を開始し、別の新しいメッセージが到着するまで待機します。 したがって、タイムアウト期間内に新しいメッセージが到着し続ける場合、このメソッドは、新しいメッセージが到着せずにタイムアウト期間が切れるまで、またはパラメーターに一致id
するIdメッセージが到着するまで、無期限に実行を続けることができます。
2 つの追加メソッドを使用すると、キュー内のメッセージをピークできます。 Peek と PeekByCorrelationId(String)。 メソッドは Peek 、キュー内の最初のメッセージを返します PeekByCorrelationId(String) 。キューに送信されたメッセージの結果として作成された受信確認、レポート、またはアプリケーションによって生成された応答メッセージを返します。
次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。
ワークグループ モード | 利用可能 |
---|---|
ローカル コンピューター | はい |
ローカル コンピューターと直接形式の名前 | はい |
リモート コンピューター | いいえ |
リモート コンピューターと直接形式の名前 | はい |
こちらもご覧ください
適用対象
.NET