EnlistmentOptions 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
준비 단계에서 개체를 참여시킬지 여부를 결정합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
public enum class EnlistmentOptions
[System.Flags]
public enum EnlistmentOptions
[<System.Flags>]
type EnlistmentOptions =
Public Enum EnlistmentOptions
- 상속
- 특성
필드
EnlistDuringPrepareRequired | 1 | 커밋 프로세스의 초기 단계에서 개체가 참여해야 합니다. |
None | 0 | 커밋 프로세스의 초기 단계에서 개체가 참여할 필요는 없습니다. |
설명
이 열거형은 및 EnlistDurable 메서드에 EnlistVolatile 전달되어 준비 단계에서 리소스 관리자가 다른 인리스트먼트를 만들어야 하는지 여부를 트랜잭션 관리자에게 알립니다. 인리스트먼트에 대한 자세한 내용은 트랜잭션에서 리소스를 참가자로 등록을 참조하세요.
인리스트먼트 중에 EnlistDuringPrepareRequired가 지정된 경우 리소스 관리자는 트랜잭션에 대한 새 인리스트먼트가 여전히 허용되는 동안 준비 알림을 수신하려고 했음을 나타냅니다. 백 엔드 데이터베이스와 같은 다른 지속성 리소스에 대한 캐시 역할을 하는 리소스 관리자는 인리스트먼트 중에 이 옵션을 사용할 수 있습니다. 캐싱 리소스가 준비 알림을 받으면 콘텐츠를 지속성 리소스로 전송합니다. 이렇게 하면 지속성 리소스가 트랜잭션에 참여하여 2PC(2단계 커밋) 프로토콜의 참가자가 됩니다. 이 일이 발생하기 전에 캐싱 리소스(지속성 리소스가 아님)만 참여했습니다.
None을 지정하면 2PC에서 새 인리스트먼트를 만들기에는 너무 늦을 때까지 준비 알림이 수신되지 않음을 나타냅니다. 앞의 시나리오에서 캐싱 리소스가 인리스트먼트 중에 이 옵션을 지정하고 준비 알림 중에 캐시를 플러시하려고 하면 지속성 리소스가 너무 늦기 때문에 등록을 시도할 때 예외가 발생합니다.
None을 기본값으로 사용해야 합니다.
적용 대상
.NET