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


System.Transactions Пространство имен

Содержит классы, которые позволяют создавать собственное приложение транзакций и диспетчер ресурсов. В частности, можно создать и принять участие в транзакции (локальной или распределенной) с одним или несколькими участниками.

Классы

Имя Описание
CommittableTransaction

Описывает фиксацию транзакции.

DependentTransaction

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

DistributedTransactionPermission

Разрешение, которое требуется System.Transactions при эскалации управления транзакцией в MSDTC. Этот класс не может быть унаследован.

DistributedTransactionPermissionAttribute

Позволяет применять действия DistributedTransactionPermission безопасности к коду с помощью декларативной безопасности. Этот класс не может быть унаследован.

Enlistment

Упрощает взаимодействие между участником заверяемой транзакции и диспетчером транзакций во время окончательного этапа транзакции.

PreparingEnlistment

Упрощает взаимодействие между участником заверяемой транзакции и диспетчером транзакций во время этапа подготовки транзакции.

SinglePhaseEnlistment

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

SubordinateTransaction

Представляет некорневую транзакцию, которую можно делегировать. Этот класс не может быть унаследован.

Transaction

Представляет транзакцию.

TransactionAbortedException

Исключение, которое возникает при попытке операции на транзакцию, которая уже была откатена, или предпринята попытка фиксации транзакции и прерывания транзакции.

TransactionEventArgs

Предоставляет данные для следующих событий транзакций: DistributedTransactionStarted, TransactionCompleted.

TransactionException

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

TransactionInDoubtException

Исключение, возникающее при попытке операции на транзакцию, которая находится под сомнением, или предпринята попытка зафиксировать транзакцию, и транзакция становится InDoubt.

TransactionInformation

Предоставляет дополнительные сведения о транзакции.

TransactionInterop

Упрощает взаимодействие между System.Transactions компонентами, которые ранее были записаны для взаимодействия с MSDTC, COM+или System.EnterpriseServices. Этот класс не может быть унаследован.

TransactionManager

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

TransactionManagerCommunicationException

Исключение, которое возникает, когда диспетчер ресурсов не может взаимодействовать с диспетчером транзакций.

TransactionPromotionException

Исключение, которое возникает при сбое продвижения.

TransactionScope

Делает транзакцию блокировок кода. Этот класс не может быть унаследован.

Структуры

Имя Описание
TransactionOptions

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

Интерфейсы

Имя Описание
IDtcTransaction

Описывает транзакцию DTC.

IEnlistmentNotification

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

IPromotableSinglePhaseNotification

Описывает объект, который выступает в качестве делегата фиксации для нераспределевой транзакции внутри диспетчера ресурсов.

ISimpleTransactionSuperior

Представляет транзакцию, которая не является корневой транзакцией, но может быть переуправляема с помощью MSDTC.

ISinglePhaseNotification

Описывает объект ресурса, поддерживающий оптимизацию однофазной фиксации для участия в транзакции.

ITransactionPromoter

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

Перечисления

Имя Описание
DependentCloneOption

Определяет тип зависимой транзакции для создания.

EnlistmentOptions

Определяет, следует ли заручиться объектом во время этапа подготовки.

EnterpriseServicesInteropOption

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

IsolationLevel

Указывает уровень изоляции транзакции.

TransactionScopeAsyncFlowOption

Указывает, включен ли поток транзакций в продолжениях потоков для TransactionScope.

TransactionScopeOption

Предоставляет дополнительные параметры для создания области транзакций.

TransactionStatus

Описывает текущее состояние распределенной транзакции.

Делегаты

Имя Описание
HostCurrentTransactionCallback

Предоставляет механизм размещения среды размещения для предоставления собственного понятия Currentпо умолчанию.

TransactionCompletedEventHandler

Представляет метод, обрабатывающий TransactionCompleted событие Transaction класса.

TransactionStartedEventHandler

Представляет метод, который будет обрабатывать DistributedTransactionStarted событие TransactionManager класса.

Комментарии

Инфраструктура System.Transactions упрощает программирование транзакций на платформе, поддерживая транзакции, инициированные в SQL Server, ADO.NET, MSMQ и координатор распределенных транзакций (Майкрософт) (MSDTC). Она предоставляет явную модель программирования на Transaction основе класса, а также неявную модель программирования с помощью TransactionScope класса, в которой транзакции автоматически управляются инфраструктурой. Настоятельно рекомендуется использовать более простую неявную модель для разработки. Дополнительные сведения о написании транзакционного приложения см. в статье "Запись транзакционного приложения".

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

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

  • Динамическая эскалация, которая означает, что System.Transactions инфраструктура участвует только в MSDTC, когда она фактически требуется для транзакции.

  • Продвигаемые зачисления, позволяющие ресурсу, например, базе данных, взять на себя управление транзакцией, если это единственный участник транзакции. Позже, System.Transactions если это необходимо, инфраструктура по-прежнему может повысить управление транзакцией до MSDTC. Это еще больше снижает вероятность использования MSDTC.