Поделиться через


Модели транзакций

В этом разделе описывается связь между моделями программирования транзакций и компонентами инфраструктуры, предоставляемыми корпорацией Microsoft.

При использовании транзакций в Windows Communication Foundation (WCF) важно понимать, что выбор производится не между различными транзакционными моделями, а между различными уровнями интегрированной и согласованной модели.

В следующих подразделах рассматриваются три основных компонента транзакции.

Транзакции Windows Communication Foundation

Поддержка транзакций в WCF позволяет создавать транзакционные службы. Кроме того, благодаря поддержке протокола WS-AtomicTransaction (WS-AT) приложения могут направлять транзакции веб-службам, созданным как с помощью WCF, так и с помощью технологий независимых разработчиков.

В службе или приложении WCF функции транзакций WCF предоставляют атрибуты и конфигурацию для декларативного задания способа и момента создания, передачи и синхронизации транзакций на уровне инфраструктуры.

Транзакции System.Transactions

Пространство имен System.Transactions предоставляет как модель явного программирования, основанную на классе Transaction, так и модель неявного программирования, использующая класс TransactionScope, в котором транзакции автоматически управляются инфраструктурой.

Дополнительные сведения создании транзакционного приложения с помощью этих двух моделей см. в разделе Создание транзакционного приложения.

В службе или приложении WCF пространство имен System.Transactions предоставляет модель программирования для создания транзакций в клиентском приложении и для явного взаимодействия с транзакциями, когда это необходимо, в пределах службы.

Транзакции MSDTC

Координатор распределенных транзакций (Майкрософт) (MSDTC) представляет собой диспетчер транзакций, обеспечивающий поддержку распределенных транзакций.

Дополнительные сведения см. в разделе в документе Справочник программиста DTC.

В службе или приложении WCF MSDTC обеспечивает инфраструктуру для координации транзакций, созданных в клиенте или службе.