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


Создание транзакционного приложения

Пространство имен System.Transactions предоставляет разработчикам транзакционных приложений две модели программирования для создания транзакций. Вы можете использовать явную модель программирования с помощью Transaction класса или неявной модели программирования, в которой транзакции автоматически управляются инфраструктурой с помощью TransactionScope класса. Мы рекомендуем использовать неявную модель транзакций для разработки. Дополнительные сведения об использовании транзакции область см. в разделе "Реализация неявной транзакции с помощью области транзакций".

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

В этом разделе

Создание транзакции

Пространство имен System.Transactions предоставляет две модели для создания транзакций. Эти модели рассматриваются в следующих разделах.

Реализация неявной транзакции с использованием области транзакции

Описывает, как пространство имен System.Transactions поддерживает создание неявных транзакций с использованием класса TransactionScope.

Реализация явной транзакции с помощью класса CommittableTransaction

Описывает, как пространство имен System.Transactions поддерживает создание явных транзакций с использованием класса CommittableTransaction.

Передача управления транзакцией на следующий уровень иерархии

Если транзакции необходим доступ к ресурсу в другом домене приложения или требуется зачислить другой диспетчер устойчивых ресурсов, управление транзакцией автоматически передается координатору MSDTC. Эскалация транзакций рассматривается в разделе эскалации управления транзакциями .

Параллелизм

В разделе "Управление параллелизмом с помощью DependentTransaction" показано, как можно достичь параллелизма между асинхронными задачами с помощью DependentTransaction класса.

Взаимодействие с транзакциями COM+

В разделе взаимодействие с корпоративными службами и транзакциями COM+ показано, как можно взаимодействовать с распределенными транзакциями COM+ .

Диагностика

Диагностические трассировки описывают, как использовать коды трассировки, созданные инфраструктурой System.Transactions для устранения ошибок в приложениях.

Работа в среде ASP.NET

В разделе "Использование System.Transactions в ASP.NET" описывается, как успешно использовать System.Transactions в приложении ASP.NET.