ISinglePhaseNotification 인터페이스

정의

트랜잭션에 참여하는 단일 단계 커밋 최적화를 지원하는 리소스 개체에 대해 설명합니다.

public interface class ISinglePhaseNotification : System::Transactions::IEnlistmentNotification
public interface ISinglePhaseNotification : System.Transactions.IEnlistmentNotification
type ISinglePhaseNotification = interface
    interface IEnlistmentNotification
Public Interface ISinglePhaseNotification
Implements IEnlistmentNotification
구현

설명

리소스 관리자가 단일 단계 커밋 최적화를 지원하기 위해 이 인터페이스를 구현하더라도 단일 단계 커밋을 수신한다고 보장되지는 않습니다. 트랜잭션 관리자는 2단계 커밋 알림을 대신 보낼 수 있습니다.

리소스 관리자를 트랜잭션의 참가자로 등록하려면 클래스의 EnlistVolatile 메서드 또는 메서드를 EnlistDurableTransaction 호출합니다. 특히 매개 변수는 EnlistmentOptions 단일 단계 커밋이 수행되도록 하려면 같 None 아야 합니다. 실수로 설정된 EnlistDuringPrepareRequired경우 단일 단계 커밋이 발생하지 않습니다.

인터페이스가 ISinglePhaseNotification 인터페이스에서 IEnlistmentNotification 파생되므로 리소스 관리자는 두 단계 커밋 알림에 대한 후자의 모든 메서드도 구현해야 합니다. 2단계 커밋 또는 단일 단계 커밋 최적화가 이 리소스 관리자와 함께 사용되는지 여부에 대한 트랜잭션 관리자의 선택입니다. 그러나 이 인터페이스를 구현하면 리소스 관리자가 사용 가능한 경우 최적화를 활용할 수 있습니다.

최적화를 사용하고 트랜잭션 관리자가 등록 리소스의 메서드를 호출 SinglePhaseCommit 하는 경우 리소스 관리자는 클래스의 SinglePhaseEnlistment 다양한 메서드를 사용하여 트랜잭션을 커밋하거나 롤백할 것인지 트랜잭션 관리자에게 알려서 이 호출에 응답해야 합니다.

메서드

Name Description
Commit(Enlistment)

트랜잭션이 커밋되고 있음을 인리스트먼트된 개체에 알립니다.

(다음에서 상속됨 IEnlistmentNotification)
InDoubt(Enlistment)

인리스트먼트된 개체에 트랜잭션 상태가 의심스럽다는 것을 알립니다.

(다음에서 상속됨 IEnlistmentNotification)
Prepare(PreparingEnlistment)

트랜잭션이 약정을 위해 준비되고 있음을 인리스트먼트된 개체에 알립니다.

(다음에서 상속됨 IEnlistmentNotification)
Rollback(Enlistment)

트랜잭션이 롤백되고 있음을 인리스트먼트된 개체에 알립니다(중단됨).

(다음에서 상속됨 IEnlistmentNotification)
SinglePhaseCommit(SinglePhaseEnlistment)

단일 단계 커밋 최적화에 대한 리소스 관리자의 콜백 구현을 나타냅니다.

적용 대상

추가 정보