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.