System.Transactions Пространство имен
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Содержит классы, позволяющие создать собственное транзакционное приложение или диспетчер ресурсов. В частности, можно создать транзакцию (локальную или распределенную) и участвовать в ней с одним или несколькими участниками.
Классы
CommittableTransaction |
Описывает фиксируемую транзакцию. |
DependentTransaction |
Описывает клон транзакции, гарантирующий невозможность фиксации транзакции до тех пор, пока приложение не дойдет до выполнения последних действий, связанных с операциями по транзакции. Этот класс не наследуется. |
DistributedTransactionPermission |
Разрешение, которое требуется пространством имен System.Transactions при эскалации управления транзакцией MSDTC. Этот класс не наследуется. |
DistributedTransactionPermissionAttribute |
Разрешает применять меры безопасности для DistributedTransactionPermission к коду с помощью декларативной безопасности. Этот класс не наследуется. |
Enlistment |
Облегчает взаимодействие между включенным в список участником транзакции и диспетчером транзакций на завершающем этапе транзакции. |
PreparingEnlistment |
Упрощает взаимодействие между присоединенным участником транзакции и диспетчером транзакций в ходе подготовительной фазы транзакции. |
SinglePhaseEnlistment |
Предоставляет набор обратных вызовов, которые облегчают взаимодействие между участником, присоединенным к однофазной фиксации, и диспетчером транзакций при получении уведомления SinglePhaseCommit(SinglePhaseEnlistment). |
SubordinateTransaction |
Представляет некорневую транзакцию, которая может быть делегирована. Этот класс не наследуется. |
Transaction |
Представляет транзакцию. |
TransactionAbortedException |
Исключение, которое вызывается в двух случаях: а) при попытке выполнить операцию по транзакции, для которой уже был выполнен откат; б) когда делается попытка зафиксировать транзакцию, и транзакция прерывается. |
TransactionEventArgs |
Предоставляет данные для следующих событий, связанных с транзакцией: DistributedTransactionStarted, TransactionCompleted. |
TransactionException |
Исключение, вызываемое при попытке выполнить операцию по транзакции, которая не может допустить новую операцию. |
TransactionInDoubtException |
Исключение, которое вызывается в двух случаях: а) при попытке выполнить операцию по транзакции, которая находится в состоянии InDoubt; б) когда делается попытка зафиксировать транзакцию, и транзакция переходит в состояние 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. Эта область подробно рассматривается в разделе Оптимизация с помощью однофазной фиксации и промотируемых однофазных уведомлений .
Дополнительные сведения об использовании пространства имен см. в System.Transactions
разделе Обработка транзакций.