MessageQueue::PeekByLookupId Method (MessageLookupAction, Int64)
Introduced in MSMQ 3.0. Peeks at a specific message from the queue. The message can be specified by a lookup identifier or by its position at the front or end of the queue.
Assembly: System.Messaging (in System.Messaging.dll)
Parameters
- action
-
Type:
System.Messaging::MessageLookupAction
One of the MessageLookupAction values, specifying how the message is read in the queue. Specify one of the following:
MessageLookupAction.Current: Peeks at the message specified by lookupId.
MessageLookupAction.Next: Peeks at the message following the message specified by lookupId.
MessageLookupAction.Previous: Peeks at the message preceding the message specified by lookupId.
MessageLookupAction.First: Peeks at the first message in the queue. The lookupId parameter must be set to 0.
MessageLookupAction.Last: Peeks at the last message in the queue. The lookupId parameter must be set to 0.
- lookupId
-
Type:
System::Int64
The LookupId of the message to peek at, or 0. 0 is used when accessing the first or last message in the queue.
Return Value
Type: System.Messaging::Message^The Message specified by the action and lookupId parameters passed in.
| Exception | Condition |
|---|---|
| PlatformNotSupportedException | MSMQ 3.0 is not installed. |
| InvalidOperationException | The message with the specified lookupId could not be found. |
| MessageQueueException | An error occurred when accessing a Message Queuing method. |
| InvalidEnumArgumentException | The action parameter is not one of the MessageLookupAction members. |
Use this method to read a message with a known lookup identifier without removing it from the queue. This method throws an exception immediately if the message is not in the queue.
The LookupId property of a message is unique to the queue where the message resides, so there will be at most one message in the queue that matches the given lookupId parameter.
To read a message with a specified identifier and remove it from the queue, use the M:System.Messaging.MessageQueue.ReceiveByLookupId method.
The following table shows whether this method is available in various Workgroup modes.
Workgroup mode | Available |
|---|---|
Local computer | Yes |
Local computer and direct format name | Yes |
Remote computer | No |
Remote computer and direct format name | Yes |
Available since 2.0
LookupId
M:System.Messaging.MessageQueue.ReceiveByLookupId
PeekByLookupId Overload
MessageQueue Class
System.Messaging Namespace