Share via


Utilizando Transações WS-Atomic

WS-AtomicTransaction (WS-AT) é um protocolo de transação interoperável. Ele permite que você flua transações distribuídas usando mensagens de serviço Web e coordene de forma interoperável entre infraestruturas de transações heterogêneas. O WS-AT usa o protocolo de confirmação em duas fases para gerar um resultado atômico entre aplicativos distribuídos, gerenciadores de transações e gerenciadores de recursos.

A implementação do WS-AT que o Windows Communication Foundation (WCF) fornece inclui um serviço de protocolo integrado ao gerenciador de transação do Coordenador de Transações Distribuídas da Microsoft (MSDTC). Usando o WS-AT, os aplicativos WCF podem fluir transações para outros aplicativos, incluindo serviços Web interoperáveis criados usando tecnologia de terceiros.

Ao fluir uma transação entre um aplicativo cliente e um aplicativo servidor, o protocolo de transação usado é determinado pela associação que o servidor expõe no ponto de extremidade selecionado pelo cliente. Algumas associações fornecidas pelo sistema WCF são padrão para especificar o protocolo OleTransactions como o formato de propagação de transação, enquanto outras são padrão para especificar o WS-AT. Você também pode modificar programaticamente a escolha do protocolo de transação dentro de uma determinada associação.

A escolha do protocolo influencia:

  • O formato dos cabeçalhos de mensagem usados para fluir a transação de cliente para servidor.

  • O protocolo de rede usado para executar o protocolo de confirmação em duas fases entre o gerenciador de transação do cliente e a transação do servidor, a fim de resolver o resultado da transação.

Se o servidor e o cliente forem gravados usando o WCF, você não precisará usar o WS-AT. Em vez disso, você pode usar as configurações padrão de NetTcpBinding com o atributo TransactionFlow habilitado, que usará o protocolo OleTransactions em vez disso. Para obter mais informações, consulte <netTcpBinding>. Caso contrário, se estiver fluindo transações para serviços Web criados em tecnologias de terceiros, você deverá usar o WS-AT.

Confira também