MessageQueue.ReceiveByLookupId Método

Definición

Introducido en MSMQ 3.0.Introduced in MSMQ 3.0. Recibe un mensaje concreto de la cola.Receives a specific message from the queue. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.The message can be specified by a lookup identifier or by its position at the front or end of the queue.

Sobrecargas

ReceiveByLookupId(Int64)

Introducido en MSMQ 3.0.Introduced in MSMQ 3.0. Recibe el mensaje que coincide con el identificador de búsqueda dado de una cola no transaccional.Receives the message that matches the given lookup identifier from a non-transactional queue.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introducido en MSMQ 3.0.Introduced in MSMQ 3.0. Recibe un mensaje concreto de una cola transaccional.Receives a specific message from a transactional queue. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.The message can be specified by a lookup identifier or by its position at the front or end of the queue.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introducido en MSMQ 3.0.Introduced in MSMQ 3.0. Recibe un mensaje concreto de la cola, utilizando el contexto de transacción especificado.Receives a specific message from the queue, using the specified transaction context. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.The message can be specified by a lookup identifier or by its position at the front or end of the queue.

ReceiveByLookupId(Int64)

Introducido en MSMQ 3.0.Introduced in MSMQ 3.0. Recibe el mensaje que coincide con el identificador de búsqueda dado de una cola no transaccional.Receives the message that matches the given lookup identifier from a non-transactional queue.

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

Parámetros

lookupId
Int64

LookupId del mensaje que se va a recibir.The LookupId of the message to receive.

Devoluciones

Message cuya propiedad LookupId coincide con el parámetro lookupId pasado.The Message whose LookupId property matches the lookupId parameter passed in.

Excepciones

MSMQ 3.0 no está instalado.MSMQ 3.0 is not installed.

No se encontró el mensaje con el lookupId especificado.The message with the specified lookupId could not be found.

Error al obtener acceso a un método de Message Queuing.An error occurred when accessing a Message Queuing method.

Comentarios

Utilice este método para leer un mensaje con un identificador de búsqueda conocido y quitarlo de la cola.Use this method to read a message with a known lookup identifier and remove it from the queue. Este método produce una excepción inmediatamente si el mensaje no está en la cola.This method throws an exception immediately if the message is not in the queue.

La propiedad LookupId de un mensaje es única para la cola en la que reside el mensaje, por lo que habrá como máximo un mensaje en la cola que coincida con el parámetro lookupId determinado.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.

Para leer un mensaje con un identificador de búsqueda especificado sin quitarlo de la cola, use el método PeekByLookupId.To read a message with a specified lookup identifier without removing it from the queue, use the PeekByLookupId method.

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.The following table shows whether this method is available in various Workgroup modes.

Modo de grupo de trabajoWorkgroup mode DisponibleAvailable
Equipo localLocal computer Yes
Equipo local y nombre de formato directoLocal computer and direct format name Yes
Equipo remotoRemote computer NoNo
Equipo remoto y nombre de formato directoRemote computer and direct format name Yes

Consulte también:

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introducido en MSMQ 3.0.Introduced in MSMQ 3.0. Recibe un mensaje concreto de una cola transaccional.Receives a specific message from a transactional queue. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.The message can be specified by a lookup identifier or by its position at the front or end of the queue.

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

Parámetros

action
MessageLookupAction

Uno de los valores MessageLookupAction, que especifica cómo se lee el mensaje en la cola.One of the MessageLookupAction values, specifying how the message is read in the queue. Especifique uno de los siguientes:Specify one of the following: MessageLookupAction.Current: recibe el mensaje especificado por lookupId y lo quita de la cola.MessageLookupAction.Current: Receives the message specified by lookupId and removes it from the queue.

MessageLookupAction.Next: recibe el mensaje siguiente al mensaje especificado por lookupId y lo quita de la cola.MessageLookupAction.Next: Receives the message following the message specified by lookupId and removes it from the queue.

MessageLookupAction.Previous: recibe el mensaje anterior al mensaje especificado por lookupId y lo quita de la cola.MessageLookupAction.Previous: Receives the message preceding the message specified by lookupId and removes it from the queue.

MessageLookupAction.First: recibe el primer mensaje de la cola y lo quita de esta.MessageLookupAction.First: Receives the first message in the queue and removes it from the queue. El parámetro lookupId debe establecerse en 0.The lookupId parameter must be set to 0.

MessageLookupAction.Last: recibe el último mensaje de la cola y lo quita de esta.MessageLookupAction.Last: Receives the last message in the queue and removes it from the queue. El parámetro lookupId debe establecerse en 0.The lookupId parameter must be set to 0.

lookupId
Int64

LookupId del mensaje para recibir o 0.The LookupId of the message to receive, or 0. 0 se usa al tener acceso al primer o último mensaje de la cola.0 is used when accessing the first or last message in the queue.

Devoluciones

La clase Message especificada por los parámetros lookupId y action pasados.The Message specified by the lookupId and action parameters passed in.

Excepciones

MSMQ 3.0 no está instalado.MSMQ 3.0 is not installed.

No se encontró el mensaje con el lookupId especificado.The message with the specified lookupId could not be found.

Error al obtener acceso a un método de Message Queuing.An error occurred when accessing a Message Queuing method.

o bien-or-

La cola no es transaccional.The queue is non-transactional.

El parámetro action no es un miembro de MessageLookupAction.The action parameter is not one of the MessageLookupAction members.

Comentarios

Utilice este método para leer un mensaje con un identificador de búsqueda conocido y quitarlo de la cola, utilizando un contexto de transacción definido por el parámetro transaction.Use this method to read a message with a known lookup identifier and remove it from the queue, using a transaction context defined by the transaction parameter. Este método produce una excepción inmediatamente si el mensaje no está en la cola.This method throws an exception immediately if the message is not in the queue.

La propiedad LookupId de un mensaje es única para la cola en la que reside el mensaje, por lo que habrá como máximo un mensaje en la cola que coincida con el parámetro lookupId determinado.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.

Dado que se llama a este método en una cola transaccional, el mensaje que se recibe se devuelve a la cola si se anula la transacción.Because this method is called on a transactional queue, the message that is received would be returned to the queue if the transaction is aborted. El mensaje no se quita permanentemente de la cola hasta que se confirma la transacción.The message is not permanently removed from the queue until the transaction is committed.

Para leer un mensaje con un identificador especificado sin quitarlo de la cola, use el método PeekByLookupId.To read a message with a specified identifier without removing it from the queue, use the PeekByLookupId method. No hay ningún contexto de transacción asociado a un mensaje devuelto por una llamada a PeekByLookupId.There is no transaction context associated with a message returned by a call to PeekByLookupId. Dado que PeekByLookupId no quita ningún mensaje de la cola, no sería necesario revertir nada si se anulara la transacción.Because PeekByLookupId does not remove any messages from the queue, there would be nothing to roll back if the transaction were aborted.

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.The following table shows whether this method is available in various Workgroup modes.

Modo de grupo de trabajoWorkgroup mode DisponibleAvailable
Equipo localLocal computer Yes
Equipo local y nombre de formato directoLocal computer and direct format name Yes
Equipo remotoRemote computer NoNo
Equipo remoto y nombre de formato directoRemote computer and direct format name Yes

Consulte también:

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introducido en MSMQ 3.0.Introduced in MSMQ 3.0. Recibe un mensaje concreto de la cola, utilizando el contexto de transacción especificado.Receives a specific message from the queue, using the specified transaction context. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.The message can be specified by a lookup identifier or by its position at the front or end of the queue.

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

Parámetros

action
MessageLookupAction

Uno de los valores MessageLookupAction, que especifica cómo se lee el mensaje en la cola.One of the MessageLookupAction values, specifying how the message is read in the queue. Especifique uno de los siguientes:Specify one of the following: MessageLookupAction.Current: recibe el mensaje especificado por lookupId y lo quita de la cola.MessageLookupAction.Current: Receives the message specified by lookupId and removes it from the queue.

MessageLookupAction.Next: recibe el mensaje siguiente al mensaje especificado por lookupId y lo quita de la cola.MessageLookupAction.Next: Receives the message following the message specified by lookupId and removes it from the queue.

MessageLookupAction.Previous: recibe el mensaje anterior al mensaje especificado por lookupId y lo quita de la cola.MessageLookupAction.Previous: Receives the message preceding the message specified by lookupId and removes it from the queue.

MessageLookupAction.First: recibe el primer mensaje de la cola y lo quita de esta.MessageLookupAction.First: Receives the first message in the queue and removes it from the queue. El parámetro lookupId debe establecerse en 0.The lookupId parameter must be set to 0.

MessageLookupAction.Last: recibe el último mensaje de la cola y lo quita de esta.MessageLookupAction.Last: Receives the last message in the queue and removes it from the queue. El parámetro lookupId debe establecerse en 0.The lookupId parameter must be set to 0.

lookupId
Int64

LookupId del mensaje para recibir o 0.The LookupId of the message to receive, or 0. 0 se usa al tener acceso al primer o último mensaje de la cola.0 is used when accessing the first or last message in the queue.

transactionType
MessageQueueTransactionType

Uno de los valores de MessageQueueTransactionType, que describe el tipo de contexto de transacción que se va a asociar al mensaje.One of the MessageQueueTransactionType values, describing the type of transaction context to associate with the message.

Devoluciones

La clase Message especificada por los parámetros action y lookupId pasados.The Message specified by the action and lookupId parameters passed in.

Excepciones

MSMQ 3.0 no está instalado.MSMQ 3.0 is not installed.

No se encontró el mensaje con el lookupId especificado.The message with the specified lookupId could not be found.

Error al obtener acceso a un método de Message Queuing.An error occurred when accessing a Message Queuing method.

El parámetro action no es un miembro de MessageLookupAction.The action parameter is not one of the MessageLookupAction members.

o bien-or- El parámetro transactionType no es un miembro de MessageQueueTransactionType.The transactionType parameter is not one of the MessageQueueTransactionType members.

Comentarios

Utilice este método para leer un mensaje con un identificador de búsqueda conocido y quitarlo de la cola, utilizando un contexto de transacción definido por el parámetro transactionType.Use this method to read a message with a known lookup identifier and remove it from the queue, using a transaction context defined by the transactionType parameter. Este método produce una excepción inmediatamente si el mensaje no está en la cola.This method throws an exception immediately if the message is not in the queue.

La propiedad LookupId de un mensaje es única para la cola en la que reside el mensaje, por lo que habrá como máximo un mensaje en la cola que coincida con el parámetro lookupId determinado.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.

Para leer un mensaje con un identificador especificado sin quitarlo de la cola, use el método PeekByLookupId.To read a message with a specified identifier without removing it from the queue, use the PeekByLookupId method. No hay ningún contexto de transacción asociado a un mensaje devuelto por una llamada a PeekByLookupId.There is no transaction context associated with a message returned by a call to PeekByLookupId. Dado que PeekByLookupId no quita ningún mensaje de la cola, no sería necesario revertir nada si se anulara la transacción.Because PeekByLookupId does not remove any messages from the queue, there would be nothing to roll back if the transaction were aborted.

Especifique Automatic para el parámetro transactionType si ya existe un contexto de transacción externa asociado al subproceso que desea usar para recibir el mensaje.Specify Automatic for the transactionType parameter if there is already an external transaction context attached to the thread that you want to use to receive the message. Especifique Single si desea recibir el mensaje como una sola transacción interna.Specify Single if you want to receive the message as a single internal transaction. Puede especificar None si desea recibir un mensaje de una cola transaccional fuera de un contexto de transacción.You can specify None if you want to receive a message from a transactional queue outside of a transaction context.

Si se llama a este método para recibir un mensaje de una cola transaccional, el mensaje que se recibe se devuelve a la cola si se anula la transacción.If this method is called to receive a message from a transactional queue, the message that is received would be returned to the queue if the transaction is aborted. El mensaje no se quita permanentemente de la cola hasta que se confirma la transacción.The message is not permanently removed from the queue until the transaction is committed.

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.The following table shows whether this method is available in various Workgroup modes.

Modo de grupo de trabajoWorkgroup mode DisponibleAvailable
Equipo localLocal computer Yes
Equipo local y nombre de formato directoLocal computer and direct format name Yes
Equipo remotoRemote computer NoNo
Equipo remoto y nombre de formato directoRemote computer and direct format name Yes

Consulte también:

Se aplica a