Transaction.EnlistPromotableSinglePhase 메서드

정의

PSPE(Promotable Single Phase Enlistment)를 통해 내부 트랜잭션이 있는 리소스 관리자를 등록합니다.

오버로드

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

PSPE(Promotable Single Phase Enlistment)를 통해 내부 트랜잭션이 있는 리소스 관리자를 등록합니다.

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

PSPE(Promotable Single Phase Enlistment)를 통해 내부 트랜잭션이 있는 리소스 관리자를 등록합니다.

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Source:
Transaction.cs
Source:
Transaction.cs
Source:
Transaction.cs

PSPE(Promotable Single Phase Enlistment)를 통해 내부 트랜잭션이 있는 리소스 관리자를 등록합니다.

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 는 리소스 관리자의 내부 트랜잭션을 커밋하려고 시도한 결과를 트랜잭션 관리자와 통신하는 데 사용됩니다. 일관되지 않은 데이터가 보고되면 트랜잭션 관리자가 예외를 throw합니다. InDoubt 결과가 보고되면 트랜잭션 관리자는 자체 내부 인리스트먼트에서 결과 알림을 찾고 보고된 응답을 무시합니다.

트랜잭션의 인리스트먼트 및 에스컬레이션에 대한 자세한 내용은 트랜잭션 관리 에스컬레이션을 참조하세요. PSPE에 대한 자세한 내용은 단일 단계 커밋 및 승격 가능한 단일 단계 알림을 사용하여 최적화를 참조하세요.

적용 대상

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Source:
Transaction.cs
Source:
Transaction.cs
Source:
Transaction.cs

PSPE(Promotable Single Phase Enlistment)를 통해 내부 트랜잭션이 있는 리소스 관리자를 등록합니다.

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 인터페이스 구현입니다.

설명

매개 변수에 지정된 promoterType 값이 TransactionInterop.PromoterTypeDtc이면 MSDTC에서 트랜잭션을 승격 해야 하며 byte[] 메서드에서 IPromotableSinglePhaseNotification.Promote 반환된 는 MSDTC 트랜잭션 전파 토큰 이어야 합니다 .

매개 변수에 지정된 promoterType 값이 아닌TransactionInterop.PromoterTypeDTC 경우 트랜잭션은 MSDTC가 아니라 호출자의 구현 IPromotableSinglePhaseNotification에 의해 승격됩니다. 이 호출에 성공하면 트랜잭션에 대해 를 반환 TransactionPromotionException하는 일련의 후속 작업이 있습니다. 이러한 작업은 다음과 같습니다.

  • Transaction.EnlistDurable

  • TransactionInterop.GetDtcTransaction

  • TransactionInterop.GetExportCookie

  • TransactionInterop.GetTransmitterPropagationToken

  • Transaction 개체의 Serialization

적용 대상