MessageQueue.ReceiveByLookupId メソッド

定義

MSMQ 3.0 で導入されました。 特定のメッセージをキューから受信します。 メッセージは、参照識別子で指定することも、キューの前後の位置関係で指定することもできます。

オーバーロード

ReceiveByLookupId(Int64)

MSMQ 3.0 で導入されました。 非トランザクション キュー内の指定した参照識別子に一致するメッセージを受信します。

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

MSMQ 3.0 で導入されました。 特定のメッセージをトランザクション キューから受信します。 メッセージは、参照識別子で指定することも、キューの前後の位置関係で指定することもできます。

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

MSMQ 3.0 で導入されました。 トランザクション コンテキストを指定して、特定のメッセージをキューから受信します。 メッセージは、参照識別子で指定することも、キューの前後の位置関係で指定することもできます。

ReceiveByLookupId(Int64)

MSMQ 3.0 で導入されました。 非トランザクション キュー内の指定した参照識別子に一致するメッセージを受信します。

public:
 System::Messaging::Message ^ ReceiveByLookupId(long lookupId);
public System.Messaging.Message ReceiveByLookupId (long lookupId);
member this.ReceiveByLookupId : int64 -> System.Messaging.Message
Public Function ReceiveByLookupId (lookupId As Long) As Message

パラメーター

lookupId
Int64

受信するメッセージの LookupId

戻り値

Message

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

例外

MSMQ 3.0 がインストールされていません。

指定した lookupId を持つメッセージは見つかりませんでした。

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

注釈

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

メッセージのプロパティは LookupId 、メッセージが存在するキューに固有であるため、指定 lookupId されたパラメーターと一致するメッセージがキュー内に最大 1 つ存在します。

指定した参照識別子を持つメッセージをキューから削除せずに読み取る場合は、メソッドを PeekByLookupId 使用します。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接形式の名前 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式の名前 はい

こちらもご覧ください

適用対象

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

MSMQ 3.0 で導入されました。 特定のメッセージをトランザクション キューから受信します。 メッセージは、参照識別子で指定することも、キューの前後の位置関係で指定することもできます。

public:
 System::Messaging::Message ^ ReceiveByLookupId(System::Messaging::MessageLookupAction action, long lookupId, System::Messaging::MessageQueueTransaction ^ transaction);
public System.Messaging.Message ReceiveByLookupId (System.Messaging.MessageLookupAction action, long lookupId, System.Messaging.MessageQueueTransaction transaction);
member this.ReceiveByLookupId : System.Messaging.MessageLookupAction * int64 * System.Messaging.MessageQueueTransaction -> System.Messaging.Message
Public Function ReceiveByLookupId (action As MessageLookupAction, lookupId As Long, transaction As MessageQueueTransaction) As Message

パラメーター

action
MessageLookupAction

キュー内のメッセージを読み取る方法を指定する MessageLookupAction のいずれか 1 つ。 次のいずれかを指定します。 MessageLookupAction.CurrentlookupId で指定されたメッセージを受信し、キューから削除します。

MessageLookupAction.NextlookupId で指定されたメッセージの次のメッセージを受信し、キューから削除します。

MessageLookupAction.PreviouslookupId で指定されたメッセージの前のメッセージを受信し、キューから削除します。

MessageLookupAction.First: キューの最初のメッセージを受信し、キューから削除します。 lookupId パラメーターは、0 に設定する必要があります。

MessageLookupAction.Last: キューの最後のメッセージを受信し、キューから削除します。 lookupId パラメーターは、0 に設定する必要があります。

lookupId
Int64

受信するメッセージの LookupId か、0。 キューの最初または最後のメッセージにアクセスする場合は 0 を使用します。

transaction
MessageQueueTransaction

MessageQueueTransaction オブジェクト。

戻り値

Message

渡された lookupId パラメーターおよび action パラメーターで指定された Message

例外

MSMQ 3.0 がインストールされていません。

指定した lookupId を持つメッセージは見つかりませんでした。

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

  • または -

キューが非トランザクション キューです。

action パラメーターが、MessageLookupAction メンバーの 1 つではありません。

注釈

このメソッドを使用して、既知の参照識別子を持つメッセージを読み取り、パラメーターで定義されたトランザクション コンテキストを使用してキューからメッセージを transaction 削除します。 このメソッドは、メッセージがキューにない場合、すぐに例外をスローします。

メッセージのプロパティは LookupId 、メッセージが存在するキューに固有であるため、指定された lookupId パラメーターと一致するメッセージがキュー内に最大 1 つ存在します。

このメソッドはトランザクション キューで呼び出されるため、トランザクションが中止されると、受信したメッセージがキューに返されます。 トランザクションがコミットされるまで、メッセージはキューから完全に削除されません。

指定した識別子を持つメッセージをキューから削除せずに読み取る場合は、メソッドを PeekByLookupId 使用します。 への呼び出し PeekByLookupIdによって返されるメッセージに関連付けられているトランザクション コンテキストはありません。 PeekByLookupIdキューからメッセージを削除しないため、トランザクションが中止された場合、ロールバックするものはありません。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接形式の名前 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式の名前 はい

こちらもご覧ください

適用対象

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

MSMQ 3.0 で導入されました。 トランザクション コンテキストを指定して、特定のメッセージをキューから受信します。 メッセージは、参照識別子で指定することも、キューの前後の位置関係で指定することもできます。

public:
 System::Messaging::Message ^ ReceiveByLookupId(System::Messaging::MessageLookupAction action, long lookupId, System::Messaging::MessageQueueTransactionType transactionType);
public System.Messaging.Message ReceiveByLookupId (System.Messaging.MessageLookupAction action, long lookupId, System.Messaging.MessageQueueTransactionType transactionType);
member this.ReceiveByLookupId : System.Messaging.MessageLookupAction * int64 * System.Messaging.MessageQueueTransactionType -> System.Messaging.Message
Public Function ReceiveByLookupId (action As MessageLookupAction, lookupId As Long, transactionType As MessageQueueTransactionType) As Message

パラメーター

action
MessageLookupAction

キュー内のメッセージを読み取る方法を指定する MessageLookupAction のいずれか 1 つ。 次のいずれかを指定します。 MessageLookupAction.CurrentlookupId で指定されたメッセージを受信し、キューから削除します。

MessageLookupAction.NextlookupId で指定されたメッセージの次のメッセージを受信し、キューから削除します。

MessageLookupAction.PreviouslookupId で指定されたメッセージの前のメッセージを受信し、キューから削除します。

MessageLookupAction.First: キューの最初のメッセージを受信し、キューから削除します。 lookupId パラメーターは、0 に設定する必要があります。

MessageLookupAction.Last: キューの最後のメッセージを受信し、キューから削除します。 lookupId パラメーターは、0 に設定する必要があります。

lookupId
Int64

受信するメッセージの LookupId か、0。 キューの最初または最後のメッセージにアクセスする場合は 0 を使用します。

transactionType
MessageQueueTransactionType

メッセージと関連付けるトランザクション コンテキストの種類を示す、MessageQueueTransactionType 値の 1 つ。

戻り値

Message

渡された action パラメーターおよび lookupId パラメーターで指定された Message

例外

MSMQ 3.0 がインストールされていません。

指定した lookupId を持つメッセージは見つかりませんでした。

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

action パラメーターが、MessageLookupAction メンバーの 1 つではありません。

注釈

このメソッドを使用して、既知の参照識別子を持つメッセージを読み取り、パラメーターで定義されたトランザクション コンテキストを使用してキューからメッセージを transactionType 削除します。 このメソッドは、メッセージがキューにない場合、すぐに例外をスローします。

メッセージのプロパティは LookupId 、メッセージが存在するキューに固有であるため、指定された lookupId パラメーターと一致するメッセージがキュー内に最大 1 つ存在します。

指定した識別子を持つメッセージをキューから削除せずに読み取る場合は、メソッドを PeekByLookupId 使用します。 への呼び出し PeekByLookupIdによって返されるメッセージに関連付けられているトランザクション コンテキストはありません。 PeekByLookupIdキューからメッセージを削除しないため、トランザクションが中止された場合、ロールバックするものはありません。

メッセージの受信にtransactionType使用するスレッドに外部トランザクション コンテキストが既にアタッチされている場合は、パラメーターに指定Automaticします。 メッセージを 1 つの内部トランザクションとして受信するかどうかを指定 Single します。 トランザクション コンテキスト外のトランザクション キューからメッセージを受信するかどうかを指定 None できます。

トランザクション キューからメッセージを受信するためにこのメソッドが呼び出された場合、トランザクションが中止されると、受信したメッセージがキューに返されます。 トランザクションがコミットされるまで、メッセージはキューから完全に削除されません。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接形式の名前 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式の名前 はい

こちらもご覧ください

適用対象