MessageQueueTransaction Classe

Definição

Fornece uma transação interna do Enfileiramento de Mensagens.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
Herança
MessageQueueTransaction
Implementações

Comentários

Para enviar ou receber uma mensagem como parte de uma transação, você pode usar a MessageQueueTransaction classe para criar uma transação e passá-la para uma sobrecarga MessageQueue.Send do método ou o MessageQueue.Receive método que usa um 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. As mensagens enviadas como parte de uma transação devem ser enviadas para filas transacionais.Messages sent as part of a transaction must be sent to transactional queues. As mensagens recebidas de filas transacionais devem ser recebidas usando uma transação especificada.Messages received from transactional queues must be received using a specified transaction.

Além do Receive método, você pode receber mensagens com um identificador especificado ou um identificador de correlação especificado.In addition to the Receive method, you can receive messages with a specified identifier or specified correlation identifier. Consulte os ReceiveById métodos ReceiveByCorrelationId e para obter mais informações sobre o recebimento seletivo de mensagens de filas transacionais.See the ReceiveById and ReceiveByCorrelationId methods for more information about selectively receiving messages from transactional queues.

As mensagens enviadas para filas transacionais serão removidas se a transação for confirmada.Messages sent to transactional queues are removed if the transaction is committed. Da mesma forma, as mensagens recebidas de filas transacionais são retornadas para a fila se a transação for revertida.Similarly, messages received from transactional queues are returned to the queue if the transaction is rolled back.

Se você criar uma MessageQueueTransaction instância de e passá-la para uma sobrecarga Send aplicável do Receive método ou método para enviar uma mensagem a uma fila não transacional ou receber uma mensagem de uma fila não transacional, o método lançará uma exceção que indica "uso de transação incorreto".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."

MessageQueueTransactiono Threading Apartment reconhece, portanto, se o estado de seu STAapartamento for, você não poderá usar a transação em vários threads.MessageQueueTransaction is threading apartment aware, so if your apartment state is STA, you cannot use the transaction in multiple threads. Visual Basic define o estado do thread principal como STA, portanto, você deve aplicar o MTAThreadAttribute na Main sub-rotina.Visual Basic sets the state of the main thread to STA, so you must apply the MTAThreadAttribute in the Main subroutine. Caso contrário, o envio de uma mensagem transacional usando outro thread gerará uma exceção MessageQueueException.Otherwise, sending a transactional message using another thread throws a MessageQueueException exception. Você aplica o MTAThreadAttribute usando o fragmento a seguir.You apply the MTAThreadAttribute by using the following fragment.

<System.MTAThreadAttribute>  
 public sub Main()  

Construtores

MessageQueueTransaction()

Inicializa uma nova instância da classe MessageQueueTransaction.Initializes a new instance of the MessageQueueTransaction class.

Propriedades

Status

Obtém o status da transação.Gets the status of the transaction.

Métodos

Abort()

Reverte a transação interna pendente.Rolls back the pending internal transaction.

Begin()

Inicia uma nova transação interna do Enfileiramento de Mensagens.Begins a new Message Queuing internal transaction.

Commit()

Confirma uma transação interna pendente.Commits a pending internal transaction.

Dispose()

Libera todos os recursos usados pelo MessageQueueTransaction.Releases all resources used by the MessageQueueTransaction.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo MessageQueueTransaction e opcionalmente libera os recursos gerenciados.Releases the unmanaged resources used by the MessageQueueTransaction and optionally releases the managed resources.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
Finalize()

Libera os recursos mantidos pela instância atual.Releases the resources held by the current instance.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a

Acesso thread-safe

Este tipo é thread-safe.This type is thread safe.

Veja também