MessageQueueTransaction Clase

Definición

Proporciona una transacción interna de Message Queuing.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
Herencia
MessageQueueTransaction
Implementaciones

Comentarios

Para enviar o recibir un mensaje como parte de una transacción, puede utilizar la MessageQueueTransaction clase para crear una transacción y pasarla a una sobrecarga del MessageQueue.Send método o al MessageQueue.Receive método que toma un transaction parámetro.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. Los mensajes enviados como parte de una transacción se deben enviar a colas transaccionales.Messages sent as part of a transaction must be sent to transactional queues. Los mensajes recibidos de las colas transaccionales se deben recibir mediante una transacción especificada.Messages received from transactional queues must be received using a specified transaction.

Además del Receive método, puede recibir mensajes con un identificador especificado o un identificador de correlación especificado.In addition to the Receive method, you can receive messages with a specified identifier or specified correlation identifier. Vea los ReceiveById ReceiveByCorrelationId métodos y para obtener más información acerca de la recepción selectiva de mensajes de colas transaccionales.See the ReceiveById and ReceiveByCorrelationId methods for more information about selectively receiving messages from transactional queues.

Los mensajes enviados a las colas transaccionales se quitan si se confirma la transacción.Messages sent to transactional queues are removed if the transaction is committed. Del mismo modo, los mensajes recibidos de las colas transaccionales se devuelven a la cola si se revierte la transacción.Similarly, messages received from transactional queues are returned to the queue if the transaction is rolled back.

Si crea una instancia de MessageQueueTransaction y la pasa a una sobrecarga aplicable del Send método o método Receive para enviar un mensaje a una cola no transaccional o recibir un mensaje de una cola no transaccional, el método inicia una excepción que indica "uso incorrecto de la transacción".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."

MessageQueueTransactiones compatible con el apartamento de subprocesos, por lo que si el estado del apartamento es STA , no se puede usar la transacción en varios subprocesos.MessageQueueTransaction is threading apartment aware, so if your apartment state is STA, you cannot use the transaction in multiple threads. Visual Basic establece el estado del subproceso principal en STA , por lo que debe aplicar MTAThreadAttribute en la Main subrutina.Visual Basic sets the state of the main thread to STA, so you must apply the MTAThreadAttribute in the Main subroutine. De lo contrario, al enviar un mensaje transaccional mediante otro subproceso se producirá una excepción MessageQueueException.Otherwise, sending a transactional message using another thread throws a MessageQueueException exception. Se aplica mediante MTAThreadAttribute el siguiente fragmento.You apply the MTAThreadAttribute by using the following fragment.

<System.MTAThreadAttribute>  
 public sub Main()  

Constructores

MessageQueueTransaction()

Inicializa una nueva instancia de la clase MessageQueueTransaction.Initializes a new instance of the MessageQueueTransaction class.

Propiedades

Status

Obtiene el estado de la transacción.Gets the status of the transaction.

Métodos

Abort()

Deshace la transacción interna pendiente.Rolls back the pending internal transaction.

Begin()

Inicia una nueva transacción interna de Message Queuing.Begins a new Message Queuing internal transaction.

Commit()

Confirma una transacción interna pendiente.Commits a pending internal transaction.

Dispose()

Libera todos los recursos que usa MessageQueueTransaction.Releases all resources used by the MessageQueueTransaction.

Dispose(Boolean)

Libera los recursos no administrados que usa MessageQueueTransaction y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the MessageQueueTransaction and optionally releases the managed resources.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
Finalize()

Libera los recursos mantenidos por la instancia actual.Releases the resources held by the current instance.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para la ejecución de subprocesos.This type is thread safe.

Consulte también