ISinglePhaseNotification 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
트랜잭션에 참여하기 위해 단일 단계 커밋 최적화를 지원하는 리소스 개체를 설명합니다.
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단계 커밋 최적화를 사용하기 위한 리소스 관리자의 콜백 구현을 나타냅니다. |