MessageQueue.ReceiveByLookupId Método

Definição

Introduzido no MSMQ 3.0. Recebe uma mensagem específica da fila. A mensagem pode ser especificada por um identificador de consulta ou pela sua posição no início ou fim da fila.

Sobrecargas

Name Description
ReceiveByLookupId(Int64)

Introduzido no MSMQ 3.0. Recebe a mensagem que corresponde ao identificador de pesquisa fornecido de uma fila não transacional.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introduzido no MSMQ 3.0. Recebe uma mensagem específica de uma fila transacional. A mensagem pode ser especificada por um identificador de consulta ou pela sua posição no início ou fim da fila.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introduzido no MSMQ 3.0. Recebe uma mensagem específica da fila, usando o contexto de transação especificado. A mensagem pode ser especificada por um identificador de consulta ou pela sua posição no início ou fim da fila.

ReceiveByLookupId(Int64)

Introduzido no MSMQ 3.0. Recebe a mensagem que corresponde ao identificador de pesquisa fornecido de uma fila não transacional.

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

A LookupId mensagem para receber.

Devoluções

A Message propriedade cujo LookupId corresponde ao lookupId parâmetro passado em.

Exceções

O MSMQ 3.0 não está instalado.

A mensagem com o especificado lookupId não foi encontrada.

Ocorreu um erro ao aceder a um método de Fila de Mensagens.

Observações

Use este método para ler uma mensagem com um identificador de pesquisa conhecido e removê-la da fila. Este método lança uma exceção imediatamente se a mensagem não estiver na fila.

A LookupId propriedade de uma mensagem é única para a fila onde a mensagem reside, pelo que haverá no máximo uma mensagem na fila que corresponde ao parâmetro indicado lookupId .

Para ler uma mensagem com um identificador de pesquisa especificado sem a remover da fila, use o PeekByLookupId método.

A tabela seguinte mostra se este método está disponível em vários modos de Grupo de Trabalho.

Modo de grupo de trabalho Available
Computador local Yes
Computador local e nome do formato direto Yes
Computador remoto No
Computador remoto e nome do formato direto Yes

Ver também

Aplica-se a

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introduzido no MSMQ 3.0. Recebe uma mensagem específica de uma fila transacional. A mensagem pode ser especificada por um identificador de consulta ou pela sua posição no início ou fim da fila.

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

Um dos MessageLookupAction valores, especificando como a mensagem é lida na fila. Especifique uma das seguintes opções:

MessageLookupAction.Current: Recebe a mensagem especificada por lookupId e remove-a da fila.

MessageLookupAction.Next: Recebe a mensagem após a mensagem especificada por lookupId e remove-a da fila.

MessageLookupAction.Previous: Recebe a mensagem anterior à mensagem especificada por lookupId e remove-a da fila.

MessageLookupAction.First: Recebe a primeira mensagem da fila e remove-a da fila. O lookupId parâmetro deve ser definido para 0.

MessageLookupAction.Last: Recebe a última mensagem na fila e remove-a da fila. O lookupId parâmetro deve ser definido para 0.

lookupId
Int64

O LookupId da mensagem para receber, ou 0. 0 é usado ao aceder à primeira ou última mensagem na fila.

Devoluções

Os Message parâmetros especificados por lookupId e action passaram em.

Exceções

O MSMQ 3.0 não está instalado.

A mensagem com o especificado lookupId não foi encontrada.

Ocorreu um erro ao aceder a um método de Fila de Mensagens.

-ou-

A fila não é transacional.

O action parâmetro não é um dos MessageLookupAction membros.

Observações

Use este método para ler uma mensagem com um identificador de consulta conhecido e removê-la da fila, usando um contexto de transação definido pelo transaction parâmetro. Este método lança uma exceção imediatamente se a mensagem não estiver na fila.

A LookupId propriedade de uma mensagem é única para a fila onde a mensagem reside, pelo que haverá no máximo uma mensagem na fila que corresponde ao parâmetro indicado lookupId .

Como este método é chamado numa fila transacional, a mensagem recebida seria devolvida à fila se a transação for abortada. A mensagem não é removida permanentemente da fila até que a transação seja confirmada.

Para ler uma mensagem com um identificador especificado sem a remover da fila, use o PeekByLookupId método. Não existe contexto de transação associado a uma mensagem devolvida por uma chamada para PeekByLookupId. Como PeekByLookupId não remove nenhuma mensagem da fila, não haveria nada a reverter se a transação fosse abortada.

A tabela seguinte mostra se este método está disponível em vários modos de Grupo de Trabalho.

Modo de grupo de trabalho Available
Computador local Yes
Computador local e nome do formato direto Yes
Computador remoto No
Computador remoto e nome do formato direto Yes

Ver também

Aplica-se a

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introduzido no MSMQ 3.0. Recebe uma mensagem específica da fila, usando o contexto de transação especificado. A mensagem pode ser especificada por um identificador de consulta ou pela sua posição no início ou fim da fila.

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

Um dos MessageLookupAction valores, especificando como a mensagem é lida na fila. Especifique uma das seguintes opções:

MessageLookupAction.Current: Recebe a mensagem especificada por lookupId e remove-a da fila.

MessageLookupAction.Next: Recebe a mensagem após a mensagem especificada por lookupId e remove-a da fila.

MessageLookupAction.Previous: Recebe a mensagem anterior à mensagem especificada por lookupId e remove-a da fila.

MessageLookupAction.First: Recebe a primeira mensagem da fila e remove-a da fila. O lookupId parâmetro deve ser definido para 0.

MessageLookupAction.Last: Recebe a última mensagem na fila e remove-a da fila. O lookupId parâmetro deve ser definido para 0.

lookupId
Int64

O LookupId da mensagem para receber, ou 0. 0 é usado ao aceder à primeira ou última mensagem na fila.

transactionType
MessageQueueTransactionType

Um dos MessageQueueTransactionType valores, descreve o tipo de contexto de transação a associar à mensagem.

Devoluções

Os Message parâmetros especificados por action e lookupId passaram em.

Exceções

O MSMQ 3.0 não está instalado.

A mensagem com o especificado lookupId não foi encontrada.

Ocorreu um erro ao aceder a um método de Fila de Mensagens.

O action parâmetro não é um dos MessageLookupAction membros.

-ou-

O transactionType parâmetro não é um dos MessageQueueTransactionType membros.

Observações

Use este método para ler uma mensagem com um identificador de consulta conhecido e removê-la da fila, usando um contexto de transação definido pelo transactionType parâmetro. Este método lança uma exceção imediatamente se a mensagem não estiver na fila.

A LookupId propriedade de uma mensagem é única para a fila onde a mensagem reside, pelo que haverá no máximo uma mensagem na fila que corresponde ao parâmetro indicado lookupId .

Para ler uma mensagem com um identificador especificado sem a remover da fila, use o PeekByLookupId método. Não existe contexto de transação associado a uma mensagem devolvida por uma chamada para PeekByLookupId. Como PeekByLookupId não remove nenhuma mensagem da fila, não haveria nada a reverter se a transação fosse abortada.

Especifique Automatic para o transactionType parâmetro se já existe um contexto de transação externo associado à thread que pretende usar para receber a mensagem. Especifique Single se quer receber a mensagem como uma única transação interna. Pode especificar None se quer receber uma mensagem de uma fila transacional fora do contexto de uma transação.

Se este método for chamado para receber uma mensagem de uma fila transacional, a mensagem recebida será devolvida à fila se a transação for abortada. A mensagem não é removida permanentemente da fila até que a transação seja confirmada.

A tabela seguinte mostra se este método está disponível em vários modos de Grupo de Trabalho.

Modo de grupo de trabalho Available
Computador local Yes
Computador local e nome do formato direto Yes
Computador remoto No
Computador remoto e nome do formato direto Yes

Ver também

Aplica-se a