MessageQueueTransaction Classe
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.
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.