Partilhar via


Visão geral das transações do Windows Communication Foundation

As transações fornecem uma maneira de agrupar um conjunto de ações ou operações em uma única unidade indivisível de execução. Uma transação é uma coleção de operações com as seguintes propriedades:

  • Atomicidade. Isso garante que todas as atualizações concluídas em uma transação específica sejam confirmadas e tornadas duráveis ou que todas sejam abortadas e revertidas para o estado anterior.

  • Consistência. Isso garante que as alterações feitas em uma transação representem uma transformação de um estado consistente para outro. Por exemplo, uma transação que transfere dinheiro de uma conta corrente para uma conta poupança não altera a quantidade de dinheiro na conta bancária geral.

  • Isolamento. Isso impede que uma transação observe alterações não confirmadas pertencentes a outras transações simultâneas. O isolamento fornece uma abstração de simultaneidade, garantindo que uma transação não possa ter um impacto inesperado na execução de outra transação.

  • Durabilidade. Isso significa que, uma vez confirmadas, as atualizações dos recursos gerenciados (como um registro de banco de dados) serão persistentes em caso de falhas.

O Windows Communication Foundation (WCF) fornece um conjunto avançado de recursos que permitem criar transações distribuídas em seu aplicativo de serviço Web.

O WCF implementa suporte para o protocolo WS-AtomicTransaction (WS-AT) que permite que os aplicativos WCF fluam transações para aplicativos interoperáveis, como serviços Web interoperáveis criados usando tecnologia de terceiros. O WCF também implementa suporte para o protocolo de transações OLE, que pode ser usado em cenários em que você não precisa da funcionalidade de interoperabilidade para habilitar o fluxo de transações.

Você pode usar um arquivo de configuração do aplicativo para configurar associações para habilitar ou desabilitar o fluxo de transações, bem como definir o protocolo de transação desejado em uma associação. Além disso, você pode definir tempos limite de transação no nível de serviço usando o arquivo de configuração. Para obter mais informações, consulte Habilitando o fluxo de transações.

Os atributos de transação no System.ServiceModel namespace permitem que você faça o seguinte:

Para obter mais informações, consulte ServiceModel Transaction Attributes.

Consulte também