MessageQueue.Transactional Propiedad

Definición

Obtiene un valor que indica si la cola acepta solo transacciones.

public:
 property bool Transactional { bool get(); };
[System.Messaging.MessagingDescription("MQ_Transactional")]
public bool Transactional { get; }
[<System.Messaging.MessagingDescription("MQ_Transactional")>]
member this.Transactional : bool
Public ReadOnly Property Transactional As Boolean

Valor de propiedad

Es true si la cola acepta solo los mensajes enviados como parte de una transacción; de lo contrario, es false.

Atributos

Excepciones

Error al obtener acceso a un método de Message Queuing.

Ejemplos

En el ejemplo de código siguiente se muestra el valor de la propiedad de una cola de Transactional mensajes.

// Display the value of the queue's Transactional property.
Console.WriteLine("MessageQueue.Transactional: {0}",
    queue.Transactional);

Comentarios

La mensajería transaccional hace referencia al acoplamiento de varios mensajes relacionados en una sola transacción. El envío de mensajes como parte de una transacción garantiza que los mensajes se entregan en orden, se entregan una sola vez y se recuperan correctamente de su cola de destino.

Si una cola es transaccional, solo acepta mensajes que se envían como parte de una transacción. Sin embargo, se puede enviar o recibir un mensaje no transaccional desde una cola de transacciones local sin usar explícitamente la sintaxis transaccional Begin, Commity Abort . Si se envía un mensaje no transaccional a una cola transaccional, este componente crea una transacción de un solo mensaje para ella, excepto en el caso de hacer referencia a una cola en un equipo remoto mediante un nombre de formato directo. En esta situación, si no especifica un contexto de transacción al enviar un mensaje, no se crea uno automáticamente y el mensaje se enviará a la cola de mensajes fallidos.

Si envía un mensaje no transaccional a una cola transaccional, no podrá revertir el mensaje en caso de una excepción.

MessageQueueTransaction es compatible con el departamento de subprocesos, por lo que si el estado del apartamento es STA, no puede usar la transacción en varios subprocesos. Visual Basic establece el estado del subproceso STAprincipal en , por lo que debe aplicar en MTAThreadAttribute la Main subrutina. De lo contrario, al enviar un mensaje transaccional mediante otro subproceso se producirá una excepción MessageQueueException. El elemento MTAThreadAttribute se aplica mediante el fragmento siguiente.

<System.MTAThreadAttribute>
 public sub Main()

En la tabla siguiente se muestra si esta propiedad está disponible en varios modos de grupo de trabajo.

Modo de grupo de trabajo Disponible
Equipo local
Equipo local y nombre de formato directo
Equipo remoto No
Equipo remoto y nombre de formato directo No

Se aplica a

Consulte también