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 предоставляет явный способ использования транзакции приложениями в отличие от использования 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) |
Применяется к
Потокобезопасность
Этот тип является потокобезопасной.