CommittableTransaction Класс

Определение

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

public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Serializable>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult
Наследование
CommittableTransaction
Атрибуты
Реализации

Комментарии

Класс CommittableTransaction предоставляет явный способ использования транзакции приложениями в отличие от использования TransactionScope класса неявно. В отличие от TransactionScope класса, разработчик приложения должен явно вызывать методы Commit и Rollback для фиксации или прерывания транзакции. Однако только создатель транзакции может зафиксировать транзакцию. Поэтому копии фиксации транзакции, полученной с помощью Transaction.Clone метода, не являются фиксацией.

Замечание

Рекомендуется создавать неявные транзакции с помощью TransactionScope класса, чтобы контекст внешней транзакции автоматически управлялся для вас. Кроме того, следует использовать TransactionScope классы и DependentTransaction классы для приложений, требующих использования одной транзакции в нескольких вызовах функций или нескольких вызовах потока. Дополнительные сведения об этой модели см. в разделе "Реализация неявной транзакции с помощью области транзакций ".

Создание не CommittableTransaction настраивает автоматическую внешнюю транзакцию, которая является транзакцией, в которой выполняется код. Вы можете получить или задать внешнюю транзакцию, вызвав статическое Transaction.Current свойство глобального Transaction объекта. Дополнительные сведения о внешних транзакциях см. в разделе "Управление потоком транзакций с помощью TransactionScopeOption" раздела " Реализация неявной транзакции с помощью области транзакций ". Если внешняя транзакция не задана, любая операция в диспетчере ресурсов не является частью этой транзакции. Необходимо явно задать и сбросить внешнюю транзакцию, чтобы обеспечить работу диспетчеров ресурсов в правильном контексте транзакции.

Пока не CommittableTransaction будет зафиксировано, все ресурсы, связанные с транзакцией, по-прежнему заблокированы.

Объект CommittableTransaction нельзя повторно использовать. После фиксации или отката его нельзя снова использовать в транзакции или задать в качестве текущего контекста внешней транзакции.

Конструкторы

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

Инициализирует новый экземпляр класса CommittableTransaction.

CommittableTransaction(TimeSpan)

Инициализирует новый экземпляр CommittableTransaction класса с указанным timeout значением.

CommittableTransaction(TransactionOptions)

Инициализирует новый экземпляр CommittableTransaction класса с указанными параметрами транзакции.

Свойства

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

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

(Унаследовано от Transaction)
PromoterType

Уникально идентифицирует формат возвращаемого byte[] методом Promote при повышении транзакции.

(Унаследовано от Transaction)
TransactionInformation

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

(Унаследовано от Transaction)

Методы

Имя Описание
BeginCommit(AsyncCallback, Object)

Начинает попытку фиксации транзакции асинхронно.

Clone()

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

(Унаследовано от Transaction)
Commit()

Пытается зафиксировать транзакцию.

DependentClone(DependentCloneOption)

Создает зависимый клон транзакции.

(Унаследовано от Transaction)
Dispose()

Освобождает ресурсы, удерживаемые объектом.

(Унаследовано от Transaction)
EndCommit(IAsyncResult)

Завершает попытку фиксации транзакции асинхронно.

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

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

(Унаследовано от Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

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

(Унаследовано от Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Заверяет диспетчер ресурсов, имеющий внутреннюю транзакцию с помощью промотабельного однофазного перечисления (PSPE).

(Унаследовано от Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Заверяет диспетчер ресурсов, имеющий внутреннюю транзакцию с помощью промотабельного однофазного перечисления (PSPE).

(Унаследовано от Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

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

(Унаследовано от Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

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

(Унаследовано от Transaction)
Equals(Object)

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

(Унаследовано от Transaction)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Transaction)
GetPromotedToken()

byte[] Возвращает возвращаемый методом Promote при повышении транзакции.

(Унаследовано от Transaction)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

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

(Унаследовано от Transaction)
Rollback()

Откат (прерван) транзакции.

(Унаследовано от Transaction)
Rollback(Exception)

Откат (прерван) транзакции.

(Унаследовано от Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

Задает идентификатор распределенной транзакции, созданный промоутером, отличным от MSDTC.

(Унаследовано от Transaction)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

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

Указывает, что транзакция завершена.

(Унаследовано от Transaction)

Явные реализации интерфейса

Имя Описание
IAsyncResult.AsyncState

Возвращает объект, предоставленный в качестве последнего параметра BeginCommit(AsyncCallback, Object) вызова метода.

IAsyncResult.AsyncWaitHandle

Возвращает объект WaitHandle , который используется для ожидания завершения асинхронной операции.

IAsyncResult.CompletedSynchronously

Получает указание, выполнена ли асинхронная операция фиксации синхронно.

IAsyncResult.IsCompleted

Возвращает указание завершения асинхронной операции фиксации.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Получает данные, необходимые SerializationInfo для сериализации этой транзакции.

(Унаследовано от Transaction)

Применяется к

Потокобезопасность

Этот тип является потокобезопасной.