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 메서드 또는 메서드를 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) |
단일 단계 커밋 최적화에 대한 리소스 관리자의 콜백 구현을 나타냅니다. |