ISinglePhaseNotification 인터페이스

정의

트랜잭션에 참여하기 위해 단일 단계 커밋 최적화를 지원하는 리소스 개체를 설명합니다.Describes a resource object that supports single phase commit optimization to participate in a transaction.

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

설명

리소스 관리자에 게 단일 단계 커밋 최적화를 지원 하기 위해이 인터페이스를 구현 하는 경우에 반드시지 않습니다 단일 단계 커밋이 받는 점에 유의 해야 합니다.You should note that even when your resource manager implements this interface to support single phase commit optimization, it is not guaranteed that it receives a single phase commit. 트랜잭션 관리자 2 단계 커밋 알림을 대신 보낼 수 있습니다.The transaction manager can still send two phase commit notifications instead.

리소스 관리자를 트랜잭션에 참가자로 참여 시키려면 Transaction 클래스의 EnlistDurable 메서드 또는 EnlistVolatile 메서드를 호출 합니다.To enlist your resource manager as a participant in a transaction, call the EnlistVolatile method or the EnlistDurable method of the Transaction class. 특히 EnlistmentOptions 매개 변수는 단일 단계 커밋이 수행 되도록 None와 같아야 합니다.Specifically, the EnlistmentOptions parameter should equal to None to ensure that a single phase commit is performed. 실수로 EnlistDuringPrepareRequired로 설정 된 경우에는 단일 단계 커밋이 발생 하지 않습니다.If it is mistakenly set to EnlistDuringPrepareRequired, no single phase commit occurs.

ISinglePhaseNotification 인터페이스가 IEnlistmentNotification 인터페이스에서 파생 되므로 리소스 관리자는 두 단계 커밋 알림에 대해 후자의 모든 메서드를 구현 해야 합니다.Since the ISinglePhaseNotification interface derives from the IEnlistmentNotification interface, the resource manager must also implement all the methods of the latter for two phase commit notifications. 2 단계 커밋 여부에 대 한 트랜잭션 관리자가 선택 되었거나이 리소스 관리자를 사용 하 여 단일 단계 커밋 최적화 사용 됩니다.It is the transaction manager's choice as to whether two phase commit or the single phase commit optimization is used with this resource manager. 그러나이 인터페이스를 구현 하면 resource manager 활용 하기 위해 최적화를 사용할 수 있는 기회입니다.However, implementing this interface gives the resource manager the opportunity to take advantage of the optimization when it is available.

최적화를 사용 하 고 트랜잭션 관리자가 참여 한 리소스의 SinglePhaseCommit 메서드를 호출 하는 경우, 리소스 관리자는 SinglePhaseEnlistment 클래스의 다양 한 메서드를 사용 하 여 트랜잭션 관리자에 게 트랜잭션을 커밋하거나 롤백해야 할지 여부를 알리기 위해이 호출에 응답 해야 합니다.If the optimization is used and the transaction manager calls the SinglePhaseCommit method of the enlisted resource, the resource manager should respond to this call by using various methods of the SinglePhaseEnlistment class to inform the transaction manager if the transaction is to be committed or rolled back.

메서드

Commit(Enlistment)

참여한 개체에게 트랜잭션이 커밋 중임을 알립니다.Notifies an enlisted object that a transaction is being committed.

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

트랜잭션이 의심스러운 상태임을 참여한 개체에게 알립니다.Notifies an enlisted object that the status of a transaction is in doubt.

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

트랜잭션이 커밋 준비 중임을 참여한 개체에게 알립니다.Notifies an enlisted object that a transaction is being prepared for commitment.

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

트랜잭션이 롤백(중단) 중임을 참여한 개체에게 알립니다.Notifies an enlisted object that a transaction is being rolled back (aborted).

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

1단계 커밋 최적화를 사용하기 위한 리소스 관리자의 콜백 구현을 나타냅니다.Represents the resource manager's implementation of the callback for the single phase commit optimization.

적용 대상

추가 정보