Comparteix a través de


MessageQueue.ReceiveByLookupId Método

Definición

Introducido en MSMQ 3.0. Recibe un mensaje concreto de la cola. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.

Sobrecargas

ReceiveByLookupId(Int64)

Introducido en MSMQ 3.0. Recibe el mensaje que coincide con el identificador de búsqueda dado de una cola no transaccional.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introducido en MSMQ 3.0. Recibe un mensaje concreto de una cola transaccional. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introducido en MSMQ 3.0. Recibe un mensaje concreto de la cola, utilizando el contexto de transacción especificado. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.

ReceiveByLookupId(Int64)

Introducido en MSMQ 3.0. Recibe el mensaje que coincide con el identificador de búsqueda dado de una cola no transaccional.

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.

Devoluciones

Message cuya propiedad LookupId coincide con el parámetro lookupId pasado.

Excepciones

MSMQ 3.0 no está instalado.

No se encontró el mensaje con el lookupId especificado.

Error al obtener acceso a un método de Message Queuing.

Comentarios

Use este método para leer un mensaje con un identificador de búsqueda conocido y quitarlo de la cola. Este método produce una excepción inmediatamente si el mensaje no está en la cola.

La LookupId propiedad de un mensaje es única para la cola donde reside el mensaje, por lo que habrá como máximo un mensaje en la cola que coincida con el parámetro especificado lookupId .

Para leer un mensaje con un identificador de búsqueda especificado sin quitarlo de la cola, use el PeekByLookupId método .

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.

Modo de grupo de trabajo Disponible
Equipo local
Equipo local y nombre de formato directo
Equipo remoto No
Equipo remoto y nombre de formato directo

Consulte también

Se aplica a

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introducido en MSMQ 3.0. Recibe un mensaje concreto de una cola transaccional. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.

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. Especifique uno de los siguientes:

MessageLookupAction.Current: recibe el mensaje especificado por lookupId y lo quita de la cola.

MessageLookupAction.Next: recibe el mensaje siguiente al especificado por lookupId y lo quita de la cola.

MessageLookupAction.Previous: recibe el mensaje anterior al especificado por lookupId y lo quita de la cola.

MessageLookupAction.First: recibe el primer mensaje de la cola y lo quita de esta. El parámetro lookupId debe establecerse en 0.

MessageLookupAction.Last: recibe el último mensaje de la cola y lo quita de esta. El parámetro lookupId debe establecerse en 0.

lookupId
Int64

LookupId del mensaje para recibir o 0. 0 se usa al tener acceso al primer o último mensaje de la cola.

Devoluciones

La clase Message especificada por los parámetros lookupId y action pasados.

Excepciones

MSMQ 3.0 no está instalado.

No se encontró el mensaje con el lookupId especificado.

Error al obtener acceso a un método de Message Queuing.

o bien

La cola no es transaccional.

El parámetro action no es un miembro de MessageLookupAction.

Comentarios

Use este método para leer un mensaje con un identificador de búsqueda conocido y quitarlo de la cola mediante un contexto de transacción definido por el transaction parámetro . Este método produce una excepción inmediatamente si el mensaje no está en la cola.

La LookupId propiedad de un mensaje es única para la cola donde reside el mensaje, por lo que habrá como máximo un mensaje en la cola que coincida con el parámetro especificado lookupId .

Dado que se llama a este método en una cola transaccional, el mensaje que se recibe se devolverá a la cola si se anula la transacción. El mensaje no se quita permanentemente de la cola hasta que se confirma la transacción.

Para leer un mensaje con un identificador especificado sin quitarlo de la cola, use el PeekByLookupId método . No hay ningún contexto de transacción asociado a un mensaje devuelto por una llamada a PeekByLookupId. Dado PeekByLookupId que no quita ningún mensaje de la cola, no habría nada que revertir si se anulase la transacción.

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.

Modo de grupo de trabajo Disponible
Equipo local
Equipo local y nombre de formato directo
Equipo remoto No
Equipo remoto y nombre de formato directo

Consulte también

Se aplica a

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introducido en MSMQ 3.0. Recibe un mensaje concreto de la cola, utilizando el contexto de transacción especificado. El mensaje se puede especificar mediante un identificador de búsqueda o por su posición al principio o al final de la cola.

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. Especifique uno de los siguientes:

MessageLookupAction.Current: recibe el mensaje especificado por lookupId y lo quita de la cola.

MessageLookupAction.Next: recibe el mensaje siguiente al especificado por lookupId y lo quita de la cola.

MessageLookupAction.Previous: recibe el mensaje anterior al especificado por lookupId y lo quita de la cola.

MessageLookupAction.First: recibe el primer mensaje de la cola y lo quita de esta. El parámetro lookupId debe establecerse en 0.

MessageLookupAction.Last: recibe el último mensaje de la cola y lo quita de esta. El parámetro lookupId debe establecerse en 0.

lookupId
Int64

LookupId del mensaje para recibir o 0. 0 se usa al tener acceso al primer o último mensaje de la cola.

transactionType
MessageQueueTransactionType

Uno de los valores de MessageQueueTransactionType, que describe el tipo de contexto de transacción que se va a asociar al mensaje.

Devoluciones

La clase Message especificada por los parámetros action y lookupId pasados.

Excepciones

MSMQ 3.0 no está instalado.

No se encontró el mensaje con el lookupId especificado.

Error al obtener acceso a un método de Message Queuing.

El parámetro action no es un miembro de MessageLookupAction.

o bien

El parámetro transactionType no es un miembro de MessageQueueTransactionType.

Comentarios

Use este método para leer un mensaje con un identificador de búsqueda conocido y quitarlo de la cola mediante un contexto de transacción definido por el transactionType parámetro . Este método produce una excepción inmediatamente si el mensaje no está en la cola.

La LookupId propiedad de un mensaje es única para la cola donde reside el mensaje, por lo que habrá como máximo un mensaje en la cola que coincida con el parámetro especificado lookupId .

Para leer un mensaje con un identificador especificado sin quitarlo de la cola, use el PeekByLookupId método . No hay ningún contexto de transacción asociado a un mensaje devuelto por una llamada a PeekByLookupId. Dado PeekByLookupId que no quita ningún mensaje de la cola, no habría nada que revertir si se anulase la transacción.

Especifique Automatic para el transactionType parámetro si ya hay un contexto de transacción externo asociado al subproceso que desea usar para recibir el mensaje. Especifique Single si desea recibir el mensaje como una única transacción interna. Puede especificar None si desea recibir un mensaje de una cola transaccional fuera de un contexto de transacción.

Si se llama a este método para recibir un mensaje de una cola transaccional, el mensaje que se recibe se devolverá a la cola si se anula la transacción. El mensaje no se quita permanentemente de la cola hasta que se confirma la transacción.

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.

Modo de grupo de trabajo Disponible
Equipo local
Equipo local y nombre de formato directo
Equipo remoto No
Equipo remoto y nombre de formato directo

Consulte también

Se aplica a