MessageQueue.ReceiveByLookupId Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Introdotto in MSMQ 3.0. Riceve un messaggio specifico della coda. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda.
Overload
ReceiveByLookupId(Int64) |
Introdotto in MSMQ 3.0. Riceve il messaggio che corrisponde all'identificatore di ricerca specificato da una coda non transazionale. |
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction) |
Introdotto in MSMQ 3.0. Riceve un messaggio specifico da una coda transazionale. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda. |
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType) |
Introdotto in MSMQ 3.0. Riceve un messaggio specifico della coda, utilizzando il contesto di transazione specificato. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda. |
ReceiveByLookupId(Int64)
Introdotto in MSMQ 3.0. Riceve il messaggio che corrisponde all'identificatore di ricerca specificato da una coda non transazionale.
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
Restituisce
Oggetto Message la cui proprietà LookupId corrisponde al parametro lookupId
passato.
Eccezioni
MSMQ 3.0 non è installato.
Impossibile trovare il messaggio con il parametro lookupId
specificato.
Si è verificato un errore durante l'accesso a un metodo di Accodamento messaggi.
Commenti
Usare questo metodo per leggere un messaggio con un identificatore di ricerca noto e rimuoverlo dalla coda. Questo metodo genera immediatamente un'eccezione se il messaggio non si trova nella coda.
La LookupId proprietà di un messaggio è univoca per la coda in cui si trova il messaggio, pertanto nella coda sarà presente al massimo un messaggio corrispondente al parametro specificato lookupId
.
Per leggere un messaggio con un identificatore di ricerca specificato senza rimuoverlo dalla coda, usare il PeekByLookupId metodo .
Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.
Modalità gruppo di lavoro | Disponibile |
---|---|
Computer locale | Sì |
Computer locale e nome del formato diretto | Sì |
Computer remoto | No |
Nome del formato diretto e del computer remoto | Sì |
Vedi anche
Si applica a
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)
Introdotto in MSMQ 3.0. Riceve un messaggio specifico da una coda transazionale. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda.
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. Specificare uno dei valori seguenti:
MessageLookupAction.Current
: riceve il messaggio specificato da lookupId
e lo rimuove dalla coda.
MessageLookupAction.Next
: riceve il messaggio che segue il messaggio specificato da lookupId
e lo rimuove dalla coda.
MessageLookupAction.Previous
: riceve il messaggio che precede il messaggio specificato da lookupId
e lo rimuove dalla coda.
MessageLookupAction.First
: riceve il primo messaggio della coda e lo rimuove da quest'ultima. Il parametro lookupId
deve essere impostato su 0.
MessageLookupAction.Last
: riceve l'ultimo messaggio della coda e lo rimuove da quest'ultima. Il parametro lookupId
deve essere impostato su 0.
- lookupId
- Int64
Oggetto LookupId del messaggio da ricevere oppure 0. 0 viene utilizzato quando si accede al primo o all'ultimo messaggio della coda.
- transaction
- MessageQueueTransaction
Oggetto MessageQueueTransaction.
Restituisce
Oggetto Message specificato dai parametri lookupId
e action
passati.
Eccezioni
MSMQ 3.0 non è installato.
Impossibile trovare il messaggio con il parametro lookupId
specificato.
Si è verificato un errore durante l'accesso a un metodo di Accodamento messaggi.
-oppure-
La coda non è transazionale.
Il parametro action
non è uno dei membri di MessageLookupAction.
Commenti
Utilizzare questo metodo per leggere un messaggio con un identificatore di ricerca noto e rimuoverlo dalla coda, usando un contesto di transazione definito dal transaction
parametro . Questo metodo genera immediatamente un'eccezione se il messaggio non si trova nella coda.
La LookupId proprietà di un messaggio è univoca per la coda in cui si trova il messaggio, pertanto nella coda sarà presente al massimo un messaggio corrispondente al parametro specificato lookupId
.
Poiché questo metodo viene chiamato in una coda transazionale, il messaggio ricevuto verrà restituito alla coda se la transazione viene interrotta. Il messaggio non viene rimosso definitivamente dalla coda finché non viene eseguito il commit della transazione.
Per leggere un messaggio con un identificatore specificato senza rimuoverlo dalla coda, usare il PeekByLookupId metodo . Non esiste alcun contesto di transazione associato a un messaggio restituito da una chiamata a PeekByLookupId. Poiché PeekByLookupId non rimuove messaggi dalla coda, non è necessario eseguire il rollback se la transazione è stata interrotta.
Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.
Modalità gruppo di lavoro | Disponibile |
---|---|
Computer locale | Sì |
Computer locale e nome del formato diretto | Sì |
Computer remoto | No |
Nome del formato diretto e del computer remoto | Sì |
Vedi anche
Si applica a
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)
Introdotto in MSMQ 3.0. Riceve un messaggio specifico della coda, utilizzando il contesto di transazione specificato. Il messaggio può essere specificato da un identificatore di ricerca o in base alla relativa posizione all'inizio o alla fine della coda.
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. Specificare uno dei valori seguenti:
MessageLookupAction.Current
: riceve il messaggio specificato da lookupId
e lo rimuove dalla coda.
MessageLookupAction.Next
: riceve il messaggio che segue il messaggio specificato da lookupId
e lo rimuove dalla coda.
MessageLookupAction.Previous
: riceve il messaggio che precede il messaggio specificato da lookupId
e lo rimuove dalla coda.
MessageLookupAction.First
: riceve il primo messaggio della coda e lo rimuove da quest'ultima. Il parametro lookupId
deve essere impostato su 0.
MessageLookupAction.Last
: riceve l'ultimo messaggio della coda e lo rimuove da quest'ultima. Il parametro lookupId
deve essere impostato su 0.
- lookupId
- Int64
Oggetto LookupId del messaggio da ricevere oppure 0. 0 viene utilizzato quando si accede al primo o all'ultimo messaggio della coda.
- transactionType
- MessageQueueTransactionType
Uno dei valori di MessageQueueTransactionType che descrive il tipo di contesto di transazione da associare al messaggio.
Restituisce
Oggetto Message specificato dai parametri action
e lookupId
passati.
Eccezioni
MSMQ 3.0 non è installato.
Impossibile trovare il messaggio con il parametro lookupId
specificato.
Si è verificato un errore durante l'accesso a un metodo di Accodamento messaggi.
Il parametro action
non è uno dei membri di MessageLookupAction.
-oppure-
Il parametro transactionType
non è uno dei membri di MessageQueueTransactionType.
Commenti
Utilizzare questo metodo per leggere un messaggio con un identificatore di ricerca noto e rimuoverlo dalla coda, usando un contesto di transazione definito dal transactionType
parametro . Questo metodo genera immediatamente un'eccezione se il messaggio non si trova nella coda.
La LookupId proprietà di un messaggio è univoca per la coda in cui si trova il messaggio, pertanto nella coda sarà presente al massimo un messaggio corrispondente al parametro specificato lookupId
.
Per leggere un messaggio con un identificatore specificato senza rimuoverlo dalla coda, usare il PeekByLookupId metodo . Non esiste alcun contesto di transazione associato a un messaggio restituito da una chiamata a PeekByLookupId. Poiché PeekByLookupId non rimuove messaggi dalla coda, non è necessario eseguire il rollback se la transazione è stata interrotta.
Specificare Automatic
per il transactionType
parametro se è già presente un contesto di transazione esterna collegato al thread che si vuole usare per ricevere il messaggio. Specificare Single
se si desidera ricevere il messaggio come singola transazione interna. È possibile specificare None
se si desidera ricevere un messaggio da una coda transazionale all'esterno di un contesto di transazione.
Se questo metodo viene chiamato per ricevere un messaggio da una coda transazionale, il messaggio ricevuto verrà restituito alla coda se la transazione viene interrotta. Il messaggio non viene rimosso definitivamente dalla coda finché non viene eseguito il commit della transazione.
Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.
Modalità gruppo di lavoro | Disponibile |
---|---|
Computer locale | Sì |
Computer locale e nome del formato diretto | Sì |
Computer remoto | No |
Nome del formato diretto e del computer remoto | Sì |