MessageQueueTransaction Classe

Definizione

Fornisce una transazione interna di Accodamento messaggi.Provides a Message Queuing internal transaction.

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 utilizzare la MessageQueueTransaction classe per creare una transazione e passarla a un overload MessageQueue.Send del metodo o del MessageQueue.Receive metodo che accetta un transaction parametro.To send or receive a message as part of a transaction, you can use the MessageQueueTransaction class to create a transaction and pass it to an overload of the MessageQueue.Send method or the MessageQueue.Receive method that takes a transaction parameter. I messaggi inviati come parte di una transazione devono essere inviati a code transazionali.Messages sent as part of a transaction must be sent to transactional queues. I messaggi ricevuti dalle code transazionali devono essere ricevuti utilizzando una transazione specificata.Messages received from transactional queues must be received using a specified transaction.

Oltre al Receive metodo, è possibile ricevere messaggi con un identificatore specificato o un identificatore di correlazione specificato.In addition to the Receive method, you can receive messages with a specified identifier or specified correlation identifier. Per ulteriori ReceiveById informazioni ReceiveByCorrelationId sulla ricezione selettiva dei messaggi dalle code transazionali, vedere i metodi e.See the ReceiveById and ReceiveByCorrelationId methods for more information about selectively receiving messages from transactional queues.

I messaggi inviati alle code transazionali vengono rimossi se viene eseguito il commit della transazione.Messages sent to transactional queues are removed if the transaction is committed. Analogamente, i messaggi ricevuti dalle code transazionali vengono restituiti alla coda se viene eseguito il rollback della transazione.Similarly, messages received from transactional queues are returned to the queue if the transaction is rolled back.

Se si crea un'istanza MessageQueueTransaction di un oggetto e lo si passa a un Send overload applicabile Receive del metodo o del 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 che l'utilizzo delle transazioni non è corretto.If you instantiate a MessageQueueTransaction and pass it to an applicable overload of the Send method or Receive method to send a message to a non-transactional queue or receive a message from a non-transactional queue, the method throws an exception that indicates "Wrong Transaction Usage."

MessageQueueTransactionè compatibile con l'Apartment di threading, pertanto se lo STAstato dell'Apartment è, non è possibile utilizzare la transazione in più thread.MessageQueueTransaction is threading apartment aware, so if your apartment state is STA, you cannot use the transaction in multiple threads. Visual Basic imposta lo stato del thread principale su STA, pertanto è necessario MTAThreadAttribute applicare nella Main subroutine.Visual Basic sets the state of the main thread to STA, so you must apply the MTAThreadAttribute in the Main subroutine. In caso contrario, l'invio di un messaggio transazionale mediante un altro thread genererà un'eccezione MessageQueueException.Otherwise, sending a transactional message using another thread throws a MessageQueueException exception. Per applicare l' MTAThreadAttribute oggetto, usare il frammento di codice seguente.You apply the MTAThreadAttribute by using the following fragment.

<System.MTAThreadAttribute>  
 public sub Main()  

Costruttori

MessageQueueTransaction()

Inizializza una nuova istanza della classe MessageQueueTransaction.Initializes a new instance of the MessageQueueTransaction class.

Proprietà

Status

Ottiene lo stato della transazione.Gets the status of the transaction.

Metodi

Abort()

Sottopone a rollback la transazione interna in sospeso.Rolls back the pending internal transaction.

Begin()

Inizia una nuova transazione interna di Accodamento messaggi.Begins a new Message Queuing internal transaction.

Commit()

Esegue il commit di una transazione interna in sospeso.Commits a pending internal transaction.

Dispose()

Rilascia tutte le risorse usate da MessageQueueTransaction.Releases all resources used by the MessageQueueTransaction.

Dispose(Boolean)

Rilascia le risorse non gestite usate da MessageQueueTransaction e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the MessageQueueTransaction and optionally releases the managed resources.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
Finalize()

Rilascia le risorse contenute nell'istanza corrente.Releases the resources held by the current instance.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Thread safety

Questo tipo è thread-safe.This type is thread safe.

Vedi anche