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.