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
, позволяет эффективно фиксировать или откатывать непостояные ресурсы или один устойчивый ресурс. Дополнительные сведения о реализации диспетчера ресурсов см. в статье Реализация Resource Manager.
Диспетчер транзакций также прозрачно передает локальные транзакции в распределенные транзакции, координируя работу с помощью диспетчера транзакций на диске, например DTC, когда дополнительный устойчивый диспетчер ресурсов закручивается транзакцией. Инфраструктура System.Transactions
обеспечивает повышенную производительность двумя основными способами.
Динамическая эскалация, которая означает, что
System.Transactions
инфраструктура использует MSDTC только тогда, когда это действительно требуется для транзакции. Эта область подробно рассматривается в разделе Эскалация управления транзакциями .Повышаемое зачисление. Позволяет ресурсу, например базе данных, стать владельцем транзакции, если он является единственной сущностью, участвующей в транзакции. Позже, при необходимости, инфраструктура по-прежнему
System.Transactions
может передать управление транзакцией в MSDTC. Это дополнительно уменьшает вероятность использования координатора MSDTC. Эта область подробно рассматривается в разделе Оптимизация с использованием однофазной фиксации и однофазного уведомления с поддержкой промотируемых уведомлений.
Дополнительные сведения об использовании пространства имен см. в System.Transactions
разделе Обработка транзакций.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по