MessageQueue.ReceiveByLookupId Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 | Sí |
Equipo local y nombre de formato directo | Sí |
Equipo remoto | No |
Equipo remoto y nombre de formato directo | Sí |
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.
- transaction
- MessageQueueTransaction
Objeto MessageQueueTransaction.
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 | Sí |
Equipo local y nombre de formato directo | Sí |
Equipo remoto | No |
Equipo remoto y nombre de formato directo | Sí |
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 | Sí |
Equipo local y nombre de formato directo | Sí |
Equipo remoto | No |
Equipo remoto y nombre de formato directo | Sí |