MessageQueue.ReceiveByLookupId Metodo

Definizione

Introdotto in MSMQ 3.0.Introduced in MSMQ 3.0. Riceve un messaggio specifico della coda.Receives a specific message from the queue. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda.The message can be specified by a lookup identifier or by its position at the front or end of the queue.

Overload

ReceiveByLookupId(Int64)

Introdotto in MSMQ 3.0.Introduced in MSMQ 3.0. Riceve il messaggio che corrisponde all'identificatore di ricerca specificato da una coda non transazionale.Receives the message that matches the given lookup identifier from a non-transactional queue.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introdotto in MSMQ 3.0.Introduced in MSMQ 3.0. Riceve un messaggio specifico da una coda transazionale.Receives a specific message from a transactional queue. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda.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)

Introdotto in MSMQ 3.0.Introduced in MSMQ 3.0. Riceve un messaggio specifico della coda, utilizzando il contesto di transazione specificato.Receives a specific message from the queue, using the specified transaction context. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda.The message can be specified by a lookup identifier or by its position at the front or end of the queue.

ReceiveByLookupId(Int64)

Introdotto in MSMQ 3.0.Introduced in MSMQ 3.0. Riceve il messaggio che corrisponde all'identificatore di ricerca specificato da una coda non transazionale.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

Parametri

lookupId
Int64

Oggetto LookupId del messaggio da ricevere.The LookupId of the message to receive.

Restituisce

Oggetto Message la cui proprietà LookupId corrisponde al parametro lookupId passato.The Message whose LookupId property matches the lookupId parameter passed in.

Eccezioni

MSMQ 3.0 non è installato.MSMQ 3.0 is not installed.

Impossibile trovare il messaggio con il parametro lookupId specificato.The message with the specified lookupId could not be found.

Si è verificato un errore durante l'accesso a un metodo di Accodamento messaggi.An error occurred when accessing a Message Queuing method.

Commenti

Utilizzare questo metodo per leggere un messaggio con un identificatore di ricerca noto e rimuoverlo dalla coda.Use this method to read a message with a known lookup identifier and remove it from the queue. Questo metodo genera immediatamente un'eccezione se il messaggio non è presente nella coda.This method throws an exception immediately if the message is not in the queue.

La LookupId proprietà di un messaggio è univoca per la coda in cui si trova il messaggio, quindi al massimo un messaggio nella coda corrisponde al parametro di lookupId specificato.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.

Per leggere un messaggio con un identificatore di ricerca specificato senza rimuoverlo dalla coda, usare il metodo PeekByLookupId.To read a message with a specified lookup identifier without removing it from the queue, use the PeekByLookupId method.

Nella tabella seguente viene indicato se questo metodo è disponibile in diverse modalità del gruppo di lavoro.The following table shows whether this method is available in various Workgroup modes.

Modalità gruppo di lavoroWorkgroup mode DisponibileAvailable
Computer localeLocal computer Yes
Nome del computer locale e del formato direttoLocal computer and direct format name Yes
Computer remotoRemote computer NoNo
Nome del computer remoto e del formato direttoRemote computer and direct format name Yes

Vedi anche

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introdotto in MSMQ 3.0.Introduced in MSMQ 3.0. Riceve un messaggio specifico da una coda transazionale.Receives a specific message from a transactional queue. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda.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

Parametri

action
MessageLookupAction

Uno dei valori di MessageLookupAction, che specifica come deve essere letto il messaggio nella coda.One of the MessageLookupAction values, specifying how the message is read in the queue. Specificare uno dei valori seguenti:Specify one of the following: MessageLookupAction.Current: Riceve il messaggio specificato da lookupId e lo rimuove dalla coda.MessageLookupAction.Current: Receives the message specified by lookupId and removes it from the queue.

MessageLookupAction.Next: Riceve il messaggio che segue il messaggio specificato da lookupId e lo rimuove dalla coda.MessageLookupAction.Next: Receives the message following the message specified by lookupId and removes it from the queue.

MessageLookupAction.Previous: Riceve il messaggio che precede il messaggio specificato da lookupId e lo rimuove dalla coda.MessageLookupAction.Previous: Receives the message preceding the message specified by lookupId and removes it from the queue.

MessageLookupAction.First: Riceve il primo messaggio della coda e lo rimuove da quest'ultima.MessageLookupAction.First: Receives the first message in the queue and removes it from the queue. Il parametro lookupId deve essere impostato su 0.The lookupId parameter must be set to 0.

MessageLookupAction.Last: Riceve l'ultimo messaggio della coda e lo rimuove da quest'ultima.MessageLookupAction.Last: Receives the last message in the queue and removes it from the queue. Il parametro lookupId deve essere impostato su 0.The lookupId parameter must be set to 0.

lookupId
Int64

Oggetto LookupId del messaggio da ricevere oppure 0.The LookupId of the message to receive, or 0. 0 viene utilizzato quando si accede al primo o all'ultimo messaggio della coda.0 is used when accessing the first or last message in the queue.

Restituisce

Oggetto Message specificato dai parametri lookupId e action passati.The Message specified by the lookupId and action parameters passed in.

Eccezioni

MSMQ 3.0 non è installato.MSMQ 3.0 is not installed.

Impossibile trovare il messaggio con il parametro lookupId specificato.The message with the specified lookupId could not be found.

Si è verificato un errore durante l'accesso a un metodo di Accodamento messaggi.An error occurred when accessing a Message Queuing method.

-oppure--or-

La coda non è transazionale.The queue is non-transactional.

Il parametro action non è uno dei membri di MessageLookupAction.The action parameter is not one of the MessageLookupAction members.

Commenti

Utilizzare questo metodo per leggere un messaggio con un identificatore di ricerca noto e rimuoverlo dalla coda, utilizzando un contesto di transazione definito dal parametro 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. Questo metodo genera immediatamente un'eccezione se il messaggio non è presente nella coda.This method throws an exception immediately if the message is not in the queue.

La LookupId proprietà di un messaggio è univoca per la coda in cui si trova il messaggio, quindi al massimo un messaggio nella coda corrisponde al parametro di lookupId specificato.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.

Poiché questo metodo viene chiamato su una coda transazionale, il messaggio ricevuto viene restituito alla coda se la transazione è stata interrotta.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. Il messaggio non viene rimosso definitivamente dalla coda fino a quando non viene eseguito il commit della transazione.The message is not permanently removed from the queue until the transaction is committed.

Per leggere un messaggio con un identificatore specificato senza rimuoverlo dalla coda, usare il metodo PeekByLookupId.To read a message with a specified identifier without removing it from the queue, use the PeekByLookupId method. Al messaggio restituito da una chiamata a PeekByLookupIdnon è associato alcun contesto di transazione.There is no transaction context associated with a message returned by a call to PeekByLookupId. Poiché PeekByLookupId non rimuove alcun messaggio dalla coda, non ci sono elementi di cui eseguire il rollback se la transazione è stata interrotta.Because PeekByLookupId does not remove any messages from the queue, there would be nothing to roll back if the transaction were aborted.

Nella tabella seguente viene indicato se questo metodo è disponibile in diverse modalità del gruppo di lavoro.The following table shows whether this method is available in various Workgroup modes.

Modalità gruppo di lavoroWorkgroup mode DisponibileAvailable
Computer localeLocal computer Yes
Nome del computer locale e del formato direttoLocal computer and direct format name Yes
Computer remotoRemote computer NoNo
Nome del computer remoto e del formato direttoRemote computer and direct format name Yes

Vedi anche

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introdotto in MSMQ 3.0.Introduced in MSMQ 3.0. Riceve un messaggio specifico della coda, utilizzando il contesto di transazione specificato.Receives a specific message from the queue, using the specified transaction context. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda.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

Parametri

action
MessageLookupAction

Uno dei valori di MessageLookupAction, che specifica come deve essere letto il messaggio nella coda.One of the MessageLookupAction values, specifying how the message is read in the queue. Specificare uno dei valori seguenti:Specify one of the following: MessageLookupAction.Current: Riceve il messaggio specificato da lookupId e lo rimuove dalla coda.MessageLookupAction.Current: Receives the message specified by lookupId and removes it from the queue.

MessageLookupAction.Next: Riceve il messaggio che segue il messaggio specificato da lookupId e lo rimuove dalla coda.MessageLookupAction.Next: Receives the message following the message specified by lookupId and removes it from the queue.

MessageLookupAction.Previous: Riceve il messaggio che precede il messaggio specificato da lookupId e lo rimuove dalla coda.MessageLookupAction.Previous: Receives the message preceding the message specified by lookupId and removes it from the queue.

MessageLookupAction.First: Riceve il primo messaggio della coda e lo rimuove da quest'ultima.MessageLookupAction.First: Receives the first message in the queue and removes it from the queue. Il parametro lookupId deve essere impostato su 0.The lookupId parameter must be set to 0.

MessageLookupAction.Last: Riceve l'ultimo messaggio della coda e lo rimuove da quest'ultima.MessageLookupAction.Last: Receives the last message in the queue and removes it from the queue. Il parametro lookupId deve essere impostato su 0.The lookupId parameter must be set to 0.

lookupId
Int64

Oggetto LookupId del messaggio da ricevere oppure 0.The LookupId of the message to receive, or 0. 0 viene utilizzato quando si accede al primo o all'ultimo messaggio della coda.0 is used when accessing the first or last message in the queue.

transactionType
MessageQueueTransactionType

Uno dei valori di MessageQueueTransactionType che descrive il tipo di contesto di transazione da associare al messaggio.One of the MessageQueueTransactionType values, describing the type of transaction context to associate with the message.

Restituisce

Oggetto Message specificato dai parametri action e lookupId passati.The Message specified by the action and lookupId parameters passed in.

Eccezioni

MSMQ 3.0 non è installato.MSMQ 3.0 is not installed.

Impossibile trovare il messaggio con il parametro lookupId specificato.The message with the specified lookupId could not be found.

Si è verificato un errore durante l'accesso a un metodo di Accodamento messaggi.An error occurred when accessing a Message Queuing method.

Il parametro action non è uno dei membri di MessageLookupAction.The action parameter is not one of the MessageLookupAction members.

-oppure--or- Il parametro transactionType non è uno dei membri di MessageQueueTransactionType.The transactionType parameter is not one of the MessageQueueTransactionType members.

Commenti

Utilizzare questo metodo per leggere un messaggio con un identificatore di ricerca noto e rimuoverlo dalla coda, utilizzando un contesto di transazione definito dal parametro 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. Questo metodo genera immediatamente un'eccezione se il messaggio non è presente nella coda.This method throws an exception immediately if the message is not in the queue.

La LookupId proprietà di un messaggio è univoca per la coda in cui si trova il messaggio, quindi al massimo un messaggio nella coda corrisponde al parametro di lookupId specificato.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.

Per leggere un messaggio con un identificatore specificato senza rimuoverlo dalla coda, usare il metodo PeekByLookupId.To read a message with a specified identifier without removing it from the queue, use the PeekByLookupId method. Al messaggio restituito da una chiamata a PeekByLookupIdnon è associato alcun contesto di transazione.There is no transaction context associated with a message returned by a call to PeekByLookupId. Poiché PeekByLookupId non rimuove alcun messaggio dalla coda, non ci sono elementi di cui eseguire il rollback se la transazione è stata interrotta.Because PeekByLookupId does not remove any messages from the queue, there would be nothing to roll back if the transaction were aborted.

Specificare Automatic per il parametro transactionType se è già presente un contesto di transazione esterno collegato al thread che si desidera utilizzare per ricevere il messaggio.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. Specificare Single se si desidera ricevere il messaggio come una singola transazione interna.Specify Single if you want to receive the message as a single internal transaction. È possibile specificare None se si desidera ricevere un messaggio da una coda transazionale all'esterno di un contesto di transazione.You can specify None if you want to receive a message from a transactional queue outside of a transaction context.

Se questo metodo viene chiamato per ricevere un messaggio da una coda transazionale, il messaggio ricevuto viene restituito alla coda se la transazione è stata interrotta.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. Il messaggio non viene rimosso definitivamente dalla coda fino a quando non viene eseguito il commit della transazione.The message is not permanently removed from the queue until the transaction is committed.

Nella tabella seguente viene indicato se questo metodo è disponibile in diverse modalità del gruppo di lavoro.The following table shows whether this method is available in various Workgroup modes.

Modalità gruppo di lavoroWorkgroup mode DisponibileAvailable
Computer localeLocal computer Yes
Nome del computer locale e del formato direttoLocal computer and direct format name Yes
Computer remotoRemote computer NoNo
Nome del computer remoto e del formato direttoRemote computer and direct format name Yes

Vedi anche

Si applica a