Transaction.EnlistPromotableSinglePhase Метод

Определение

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

Перегрузки

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

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

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

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

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Исходный код:
Transaction.cs
Исходный код:
Transaction.cs
Исходный код:
Transaction.cs

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

public:
 bool EnlistPromotableSinglePhase(System::Transactions::IPromotableSinglePhaseNotification ^ promotableSinglePhaseNotification);
public bool EnlistPromotableSinglePhase (System.Transactions.IPromotableSinglePhaseNotification promotableSinglePhaseNotification);
member this.EnlistPromotableSinglePhase : System.Transactions.IPromotableSinglePhaseNotification -> bool
Public Function EnlistPromotableSinglePhase (promotableSinglePhaseNotification As IPromotableSinglePhaseNotification) As Boolean

Параметры

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification

Интерфейс IPromotableSinglePhaseNotification, реализованный участником.

Возвращаемое значение

Реализация интерфейса SinglePhaseEnlistment, описывающая зачисление.

Комментарии

Зачисление в транзакцию является непостоянным; то есть они не выдерживают неудачу участника. Кроме того, этот метод предлагает диспетчеру транзакций только усилить контроль, но сама эскалация не гарантируется. Если эскалация завершается неудачно, пользователь не получает уведомления и выполняется откат транзакции.

Параметр promotableSinglePhaseNotification используется для передачи диспетчеру транзакций результата попытки фиксации внутренней транзакции диспетчера ресурсов. Если отображаются несогласованные данные, диспетчер транзакций создает исключение. InDoubt Если сообщается о результате, диспетчер транзакций ищет уведомление о результатах в своем собственном внутреннем зачислении и игнорирует сообщаемый ответ.

Дополнительные сведения о зачислении и эскалации транзакции см. в разделе Эскалация управления транзакциями. Дополнительные сведения о PSPE см. в разделах Оптимизация с помощью однофазной фиксации и Промотируемое однофазное уведомление.

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

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Исходный код:
Transaction.cs
Исходный код:
Transaction.cs
Исходный код:
Transaction.cs

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

public:
 bool EnlistPromotableSinglePhase(System::Transactions::IPromotableSinglePhaseNotification ^ promotableSinglePhaseNotification, Guid promoterType);
public bool EnlistPromotableSinglePhase (System.Transactions.IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Guid promoterType);
member this.EnlistPromotableSinglePhase : System.Transactions.IPromotableSinglePhaseNotification * Guid -> bool
Public Function EnlistPromotableSinglePhase (promotableSinglePhaseNotification As IPromotableSinglePhaseNotification, promoterType As Guid) As Boolean

Параметры

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification

Интерфейс IPromotableSinglePhaseNotification, реализованный участником.

promoterType
Guid

Тип обработчика распределенных транзакций.

Возвращаемое значение

Реализация интерфейса SinglePhaseEnlistment, описывающая зачисление.

Комментарии

Если для параметра TransactionInterop.PromoterTypeDtcзадано promoterType значение , транзакция должна быть повышена с помощью MSDTC, а byte[] возвращаемый из IPromotableSinglePhaseNotification.Promote метода должен быть маркером распространения транзакции MSDTC.

Если значение, указанное promoterType для параметра, неTransactionInterop.PromoterTypeDTC равно , транзакция будет повышена не MSDTC, а реализацией IPromotableSinglePhaseNotificationвызывающего объекта . Если этот вызов выполнен успешно, существует набор последующих операций с транзакцией, которые будут возвращать TransactionPromotionException. К этим операциям относятся:

  • Transaction.EnlistDurable

  • TransactionInterop.GetDtcTransaction

  • TransactionInterop.GetExportCookie

  • TransactionInterop.GetTransmitterPropagationToken

  • Сериализация объекта Transaction

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