MessageQueueTransaction Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece uma transação interna do Enfileiramento de Mensagens.
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 do MessageQueue.Send método ou do MessageQueue.Receive método que usa um transaction
parâmetro. As mensagens enviadas como parte de uma transação devem ser enviadas para filas transacionais. As mensagens recebidas de filas transacionais devem ser recebidas usando uma transação especificada.
Além do Receive método , você pode receber mensagens com um identificador especificado ou um identificador de correlação especificado. Consulte os ReceiveById métodos e ReceiveByCorrelationId para obter mais informações sobre como receber seletivamente mensagens de filas transacionais.
As mensagens enviadas para filas transacionais serão removidas se a transação for confirmada. Da mesma forma, as mensagens recebidas de filas transacionais serão retornadas para a fila se a transação for revertida.
Se você instanciar um MessageQueueTransaction e passá-lo para uma sobrecarga aplicável do Send método ou Receive método para enviar uma mensagem para uma fila não transacional ou receber uma mensagem de uma fila não transacional, o método gerará uma exceção que indica "Uso errado da transação".
MessageQueueTransaction é threading apartment aware, portanto, se o estado do seu apartamento é STA
, você não pode usar a transação em vários threads. O Visual Basic define o estado do thread main como STA
, portanto, você deve aplicar o MTAThreadAttribute na Main
sub-rotina. Caso contrário, o envio de uma mensagem transacional usando outro thread gerará uma exceção MessageQueueException. Você aplica o MTAThreadAttribute usando o fragmento a seguir.
<System.MTAThreadAttribute>
public sub Main()
Construtores
MessageQueueTransaction() |
Inicializa uma nova instância da classe MessageQueueTransaction. |
Propriedades
Status |
Obtém o status da transação. |
Métodos
Abort() |
Reverte a transação interna pendente. |
Begin() |
Inicia uma nova transação interna do Enfileiramento de Mensagens. |
Commit() |
Confirma uma transação interna pendente. |
Dispose() |
Libera todos os recursos usados pelo MessageQueueTransaction. |
Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo MessageQueueTransaction e opcionalmente libera os recursos gerenciados. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Finalize() |
Libera os recursos mantidos pela instância atual. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Aplica-se a
Acesso thread-safe
Este tipo é thread-safe.