CommittableTransaction Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Описывает фиксируемую транзакцию.
public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
type CommittableTransaction = class
inherit Transaction
interface IAsyncResult
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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
позволяет приложениям использовать транзакцию явным образом вместо неявного использования с помощью класса TransactionScope. В отличие от класса TransactionScope для фиксации или прерывания транзакции модуль записи приложения должен специально вызывать методы Commit и Rollback. Однако только создатель транзакции может зафиксировать транзакцию. Таким образом, копии фиксируемой транзакции, полученные с помощью Transaction.Clone метода , не фиксируются.
Примечание
Рекомендуется создавать неявные транзакции с помощью TransactionScope класса , чтобы контекст внешней транзакции автоматически управлялся автоматически. Также следует использовать TransactionScope классы и DependentTransaction для приложений, которым требуется использовать одну и ту же транзакцию в нескольких вызовах функций или в нескольких вызовах потоков. Дополнительные сведения об этой модели см. в разделе Реализация неявной транзакции с помощью области транзакции .
При создании CommittableTransaction не задается автоматически внешняя транзакция, которая является транзакцией, в которой выполняется код. Вы можете получить или задать внешнюю транзакцию, вызвав статическое Transaction.Current свойство глобального Transaction объекта . Дополнительные сведения о внешних транзакциях см. в разделе "Управление потоком транзакций с помощью TransactionScopeOption" статьи Реализация неявной транзакции с помощью области транзакции . Если внешняя транзакция не задана, любая операция с диспетчером ресурсов не является частью этой транзакции. Необходимо явно задать и сбросить внешнюю транзакцию, чтобы диспетчеры ресурсов работали в правильном контексте транзакции.
CommittableTransaction До фиксации все ресурсы, связанные с транзакцией, по-прежнему блокируются.
Объект CommittableTransaction нельзя использовать повторно. После фиксации или отката его нельзя использовать повторно в транзакции или задать в качестве текущего контекста внешней транзакции.
Конструкторы
CommittableTransaction() |
Инициализирует новый экземпляр класса CommittableTransaction. |
CommittableTransaction(TimeSpan) |
Инициализирует новый экземпляр класса CommittableTransaction заданным значением |
CommittableTransaction(TransactionOptions) |
Инициализирует новый экземпляр класса CommittableTransaction с заданными параметрами транзакции. |
Свойства
IsolationLevel |
Получает уровень изоляции транзакции. (Унаследовано от Transaction) |
PromoterType |
Однозначно определяет формат |
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() |
Возвращает объект , |
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) |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.