Condividi tramite


MessageQueueTransaction Classe

Definizione

Fornisce una transazione interna di Accodamento messaggi.

public ref class MessageQueueTransaction : IDisposable
public class MessageQueueTransaction : IDisposable
type MessageQueueTransaction = class
    interface IDisposable
Public Class MessageQueueTransaction
Implements IDisposable
Ereditarietà
MessageQueueTransaction
Implementazioni

Commenti

Per inviare o ricevere un messaggio come parte di una transazione, è possibile usare la MessageQueueTransaction classe per creare una transazione e passarla a un overload del MessageQueue.Send metodo o al MessageQueue.Receive metodo che accetta un transaction parametro. I messaggi inviati come parte di una transazione devono essere inviati alle code transazionali. I messaggi ricevuti dalle code transazionali devono essere ricevuti usando una transazione specificata.

Oltre al Receive metodo , è possibile ricevere messaggi con un identificatore specificato o un identificatore di correlazione specificato. Per altre informazioni sulla ricezione selettiva di messaggi dalle code transazionali, vedere i ReceiveById metodi e ReceiveByCorrelationId .

I messaggi inviati alle code transazionali vengono rimossi se viene eseguito il commit della transazione. Analogamente, i messaggi ricevuti dalle code transazionali vengono restituiti alla coda se viene eseguito il rollback della transazione.

Se si crea un'istanza di e MessageQueueTransaction la si passa a un overload applicabile del metodo o Receive del Send metodo per inviare un messaggio a una coda non transazionale o ricevere un messaggio da una coda non transazionale, il metodo genera un'eccezione che indica "Utilizzo transazione errato".

MessageQueueTransaction è compatibile con apartment di threading, quindi se lo stato dell'apartment è STA, non è possibile usare la transazione in più thread. Visual Basic imposta lo stato del thread principale su STA, quindi è necessario applicare nella MTAThreadAttributeMain subroutine. In caso contrario, l'invio di un messaggio transazionale mediante un altro thread genererà un'eccezione MessageQueueException. L'oggetto MTAThreadAttribute viene applicato usando il frammento seguente.

<System.MTAThreadAttribute>  
 public sub Main()  

Costruttori

MessageQueueTransaction()

Inizializza una nuova istanza della classe MessageQueueTransaction.

Proprietà

Status

Ottiene lo stato della transazione.

Metodi

Abort()

Sottopone a rollback la transazione interna in sospeso.

Begin()

Inizia una nuova transazione interna di Accodamento messaggi.

Commit()

Esegue il commit di una transazione interna in sospeso.

Dispose()

Rilascia tutte le risorse usate da MessageQueueTransaction.

Dispose(Boolean)

Rilascia le risorse non gestite usate da MessageQueueTransaction e, facoltativamente, le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Rilascia le risorse contenute nell'istanza corrente.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Thread safety

Questo tipo è thread-safe.

Vedi anche