MessageQueue.ReceiveByLookupId Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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.
- transaction
- MessageQueueTransaction
O objeto MessageQueueTransaction.
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 |