다음을 통해 공유


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 메서드 또는 메서드를 EnlistDurable Transaction 호출합니다. 특히 매개 변수는 EnlistmentOptions 단일 단계 커밋이 수행되도록 하는 것과 같 None 아야 합니다. 실수로 설정된 EnlistDuringPrepareRequired경우 단일 단계 커밋이 발생하지 않습니다.

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

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

메서드

Commit(Enlistment)

참여한 개체에게 트랜잭션이 커밋 중임을 알립니다.

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

트랜잭션이 의심스러운 상태임을 참여한 개체에게 알립니다.

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

트랜잭션이 커밋 준비 중임을 참여한 개체에게 알립니다.

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

트랜잭션이 롤백(중단) 중임을 참여한 개체에게 알립니다.

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

1단계 커밋 최적화를 사용하기 위한 리소스 관리자의 콜백 구현을 나타냅니다.

적용 대상

추가 정보