MessageEnumerator.RemoveCurrent Metodo

Definizione

Rimuove il messaggio corrente dalla coda e restituisce il messaggio all'applicazione che ha eseguito la chiamata. La rimozione del messaggio determina la sua eliminazione dalla coda.

Overload

RemoveCurrent()

Rimuove il messaggio corrente da una coda transazionale o non transazionale e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Non esistono timeout specifici per l'arrivo di un messaggio nella coda.

RemoveCurrent(MessageQueueTransaction)

Rimuove il messaggio corrente da una coda transazionale e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Non esistono timeout specifici per l'arrivo di un messaggio nella coda.

RemoveCurrent(MessageQueueTransactionType)

Rimuove il messaggio corrente da una coda e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Non esistono timeout specifici per l'arrivo di un messaggio nella coda.

RemoveCurrent(TimeSpan)

Rimuove il messaggio corrente dalla coda e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Se è necessario rimuovere un messaggio, il metodo lo restituisce immediatamente. In caso contrario, il metodo attende il timeout specificato per l'arrivo di un nuovo messaggio.

RemoveCurrent(TimeSpan, MessageQueueTransaction)

Rimuove il messaggio corrente da una coda transazionale e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Se è necessario rimuovere un messaggio, il metodo lo restituisce immediatamente. In caso contrario, il metodo attende il timeout specificato per l'arrivo di un nuovo messaggio.

RemoveCurrent(TimeSpan, MessageQueueTransactionType)

Rimuove il messaggio corrente da una coda e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Se è necessario rimuovere un messaggio, il metodo lo restituisce immediatamente. In caso contrario, il metodo attende il timeout specificato per l'arrivo di un nuovo messaggio.

Commenti

Il comportamento descritto per questi overload è applicabile solo se l'istanza MessageEnumerator viene recuperata usando .GetMessageEnumerator2 Non usare GetMessageEnumerator per recuperare un'istanza di MessageEnumerator come questo metodo è stato deprecato.

RemoveCurrent()

Rimuove il messaggio corrente da una coda transazionale o non transazionale e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Non esistono timeout specifici per l'arrivo di un messaggio nella coda.

public:
 System::Messaging::Message ^ RemoveCurrent();
public System.Messaging.Message RemoveCurrent ();
member this.RemoveCurrent : unit -> System.Messaging.Message
Public Function RemoveCurrent () As Message

Restituisce

Oggetto Message che fa riferimento al primo messaggio disponibile nella coda.

Commenti

RemoveCurrent rimuove e restituisce il messaggio in corrispondenza della posizione corrente del cursore.

Se si usa l'inserimento nel journal delle code, la rimozione del messaggio causa la memorizzazione di una copia nella coda del journal, proprio come fa il MessageQueue metodo della Receive classe.

Quando si rimuove il messaggio corrente, il cursore viene spostato nel messaggio successivo. Non è necessario chiamare dopo aver RemoveCurrentchiamato MoveNext .

Se si chiama questo overload in una coda transazionale, Accodamento messaggi crea una singola transazione interna.

Vedi anche

Si applica a

RemoveCurrent(MessageQueueTransaction)

Rimuove il messaggio corrente da una coda transazionale e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Non esistono timeout specifici per l'arrivo di un messaggio nella coda.

public:
 System::Messaging::Message ^ RemoveCurrent(System::Messaging::MessageQueueTransaction ^ transaction);
public System.Messaging.Message RemoveCurrent (System.Messaging.MessageQueueTransaction transaction);
member this.RemoveCurrent : System.Messaging.MessageQueueTransaction -> System.Messaging.Message
Public Function RemoveCurrent (transaction As MessageQueueTransaction) As Message

Parametri

transaction
MessageQueueTransaction

L'oggetto MessageQueueTransaction che specifica la transazione nella quale verrà rimosso il messaggio.

Restituisce

Oggetto Message che fa riferimento al primo messaggio disponibile nella coda.

Eccezioni

Il valore del parametro transaction è null.

Commenti

RemoveCurrent rimuove e restituisce il messaggio in corrispondenza della posizione corrente del cursore, utilizzando il contesto di transazione interno definito dal transaction parametro .

Se si usa l'inserimento nel journal delle code, la rimozione del messaggio causa la memorizzazione di una copia nella coda del journal, proprio come fa il MessageQueue metodo della Receive classe.

Quando si utilizzano le code transazionali, un rollback di una transazione causa la restituzione di tutti i messaggi rimossi da una chiamata RemoveCurrent alla coda. La rimozione non è irreversibile finché non viene eseguito il commit della transazione.

Quando si rimuove il messaggio corrente, il cursore viene spostato nel messaggio successivo. Non è necessario chiamare dopo aver RemoveCurrentchiamato MoveNext .

Vedi anche

Si applica a

RemoveCurrent(MessageQueueTransactionType)

Rimuove il messaggio corrente da una coda e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Non esistono timeout specifici per l'arrivo di un messaggio nella coda.

public:
 System::Messaging::Message ^ RemoveCurrent(System::Messaging::MessageQueueTransactionType transactionType);
public System.Messaging.Message RemoveCurrent (System.Messaging.MessageQueueTransactionType transactionType);
member this.RemoveCurrent : System.Messaging.MessageQueueTransactionType -> System.Messaging.Message
Public Function RemoveCurrent (transactionType As MessageQueueTransactionType) As Message

Parametri

transactionType
MessageQueueTransactionType

Uno dei valori di MessageQueueTransactionType che descrive il tipo di contesto di transazione da associare al messaggio.

Restituisce

Oggetto Message che fa riferimento al primo messaggio disponibile nella coda.

Eccezioni

Il parametro transactionType non è uno dei membri di MessageQueueTransactionType.

Commenti

RemoveCurrent rimuove e restituisce il messaggio nella posizione corrente del cursore, utilizzando un contesto di transazione definito dal transactionType parametro .

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 si usa l'inserimento nel journal delle code, la rimozione del messaggio causa la memorizzazione di una copia nella coda del journal, proprio come fa il MessageQueue metodo della Receive classe.

Quando si utilizzano le code transazionali, un rollback di una transazione causa la restituzione di tutti i messaggi rimossi da una chiamata RemoveCurrent alla coda. La rimozione non è irreversibile finché non viene eseguito il commit della transazione.

Quando si rimuove il messaggio corrente, il cursore viene spostato nel messaggio successivo. Non è necessario chiamare dopo aver RemoveCurrentchiamato MoveNext .

Vedi anche

Si applica a

RemoveCurrent(TimeSpan)

Rimuove il messaggio corrente dalla coda e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Se è necessario rimuovere un messaggio, il metodo lo restituisce immediatamente. In caso contrario, il metodo attende il timeout specificato per l'arrivo di un nuovo messaggio.

public:
 System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout);
member this.RemoveCurrent : TimeSpan -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan) As Message

Parametri

timeout
TimeSpan

Il tempo di attesa dell'arrivo del messaggio nella coda.

Restituisce

Oggetto Message che fa riferimento al primo messaggio disponibile nella coda.

Eccezioni

Il valore specificato per il parametro timeout non è valido.

Il timeout è scaduto.

Commenti

RemoveCurrent rimuove e restituisce il messaggio in corrispondenza della posizione corrente del cursore. Se il cursore si trova alla fine della coda, questo overload del metodo attende fino a quando non è disponibile un messaggio o l'intervallo specificato dal timeout parametro è scaduto.

Se si usa l'inserimento nel journal delle code, la rimozione del messaggio causa la memorizzazione di una copia nella coda del journal, proprio come fa il MessageQueue metodo della Receive classe.

Quando si rimuove il messaggio corrente, il cursore viene spostato nel messaggio successivo. Non è necessario chiamare dopo aver RemoveCurrentchiamato MoveNext .

Se si chiama questo overload in una coda transazionale, Accodamento messaggi crea una singola transazione interna.

Vedi anche

Si applica a

RemoveCurrent(TimeSpan, MessageQueueTransaction)

Rimuove il messaggio corrente da una coda transazionale e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Se è necessario rimuovere un messaggio, il metodo lo restituisce immediatamente. In caso contrario, il metodo attende il timeout specificato per l'arrivo di un nuovo messaggio.

public:
 System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout, System::Messaging::MessageQueueTransaction ^ transaction);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout, System.Messaging.MessageQueueTransaction transaction);
member this.RemoveCurrent : TimeSpan * System.Messaging.MessageQueueTransaction -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan, transaction As MessageQueueTransaction) As Message

Parametri

timeout
TimeSpan

Il tempo di attesa per l'eliminazione del messaggio.

transaction
MessageQueueTransaction

L'oggetto MessageQueueTransaction che specifica il contesto della transazione per il messaggio.

Restituisce

Oggetto Message che fa riferimento al primo messaggio disponibile nella coda.

Eccezioni

Il valore specificato per il parametro timeout non è valido.

Il valore del parametro transaction è null.

Il timeout è scaduto.

Commenti

RemoveCurrent rimuove e restituisce il messaggio in corrispondenza della posizione corrente del cursore. Se il cursore si trova alla fine della coda, questo overload del metodo attende fino a quando non è disponibile un messaggio o l'intervallo specificato dal timeout parametro è scaduto.

Quando si utilizzano le code transazionali, un rollback di una transazione causa la restituzione di tutti i messaggi rimossi da una chiamata RemoveCurrent alla coda. La rimozione non è irreversibile finché non viene eseguito il commit della transazione.

Se si usa l'inserimento nel journal delle code, la rimozione del messaggio causa la memorizzazione di una copia nella coda del journal, proprio come fa il MessageQueue metodo della Receive classe.

Quando si rimuove il messaggio corrente, il cursore viene spostato nel messaggio successivo. Non è necessario chiamare dopo aver RemoveCurrentchiamato MoveNext .

Vedi anche

Si applica a

RemoveCurrent(TimeSpan, MessageQueueTransactionType)

Rimuove il messaggio corrente da una coda e restituisce il messaggio all'applicazione che ha eseguito la chiamata. Se è necessario rimuovere un messaggio, il metodo lo restituisce immediatamente. In caso contrario, il metodo attende il timeout specificato per l'arrivo di un nuovo messaggio.

public:
 System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout, System::Messaging::MessageQueueTransactionType transactionType);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout, System.Messaging.MessageQueueTransactionType transactionType);
member this.RemoveCurrent : TimeSpan * System.Messaging.MessageQueueTransactionType -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan, transactionType As MessageQueueTransactionType) As Message

Parametri

timeout
TimeSpan

Il tempo di attesa per l'eliminazione del messaggio.

transactionType
MessageQueueTransactionType

Uno dei valori di MessageQueueTransactionType che descrive il tipo di contesto di transazione da associare al messaggio.

Restituisce

Oggetto Message che fa riferimento al primo messaggio disponibile nella coda.

Eccezioni

Il valore specificato per il parametro timeout non è valido.

Il timeout è scaduto.

Il parametro transactionType non è uno dei membri di MessageQueueTransactionType.

Commenti

RemoveCurrent rimuove e restituisce il messaggio nella posizione corrente del cursore usando un contesto di transazione definito dal transactionType parametro . Se il cursore si trova alla fine della coda, questo overload del metodo attende fino a quando non è disponibile un messaggio o l'intervallo specificato dal timeout parametro è scaduto.

Specificare Automatic per il transactionType parametro se è già presente un contesto di transazione esterno collegato al thread che si vuole usare per ricevere il messaggio. Specificare Single se si vuole ricevere il messaggio come singola transazione interna. È possibile specificare None se si vuole ricevere un messaggio da una coda transazionale all'esterno di un contesto di transazione.

Se si usa il journal delle code, la rimozione del messaggio causa la memorizzazione di una copia nella coda del journal, esattamente come il MessageQueue metodo della Receive classe.

Quando si utilizzano code transazionali, un rollback di una transazione causa la rimozione di eventuali messaggi rimossi da una chiamata da RemoveCurrent restituire alla coda. La rimozione non è irreversibile finché non viene eseguito il commit della transazione.

Quando si rimuove il messaggio corrente, il cursore viene spostato nel messaggio successivo. Non è necessario chiamare dopo aver chiamato MoveNextRemoveCurrent.

Vedi anche

Si applica a