다음을 통해 공유


EnlistmentOptions 열거형

정의

준비 단계에서 개체를 참여시킬지 여부를 결정합니다.

이 열거형은 멤버 값의 비트 조합을 지원합니다.

public enum class EnlistmentOptions
[System.Flags]
public enum EnlistmentOptions
[<System.Flags>]
type EnlistmentOptions = 
Public Enum EnlistmentOptions
상속
EnlistmentOptions
특성

필드

EnlistDuringPrepareRequired 1

커밋 프로세스의 초기 단계에서 개체가 참여해야 합니다.

None 0

커밋 프로세스의 초기 단계에서 개체가 참여할 필요는 없습니다.

설명

이 열거형은 및 EnlistDurable 메서드에 EnlistVolatile 전달되어 준비 단계에서 리소스 관리자가 다른 인리스트먼트를 만들어야 하는지 여부를 트랜잭션 관리자에게 알립니다. 인리스트먼트에 대한 자세한 내용은 트랜잭션에서 리소스를 참가자로 등록을 참조하세요.

인리스트먼트 중에 EnlistDuringPrepareRequired가 지정된 경우 리소스 관리자는 트랜잭션에 대한 새 인리스트먼트가 여전히 허용되는 동안 준비 알림을 수신하려고 했음을 나타냅니다. 백 엔드 데이터베이스와 같은 다른 지속성 리소스에 대한 캐시 역할을 하는 리소스 관리자는 인리스트먼트 중에 이 옵션을 사용할 수 있습니다. 캐싱 리소스가 준비 알림을 받으면 콘텐츠를 지속성 리소스로 전송합니다. 이렇게 하면 지속성 리소스가 트랜잭션에 참여하여 2PC(2단계 커밋) 프로토콜의 참가자가 됩니다. 이 일이 발생하기 전에 캐싱 리소스(지속성 리소스가 아님)만 참여했습니다.

None을 지정하면 2PC에서 새 인리스트먼트를 만들기에는 너무 늦을 때까지 준비 알림이 수신되지 않음을 나타냅니다. 앞의 시나리오에서 캐싱 리소스가 인리스트먼트 중에 이 옵션을 지정하고 준비 알림 중에 캐시를 플러시하려고 하면 지속성 리소스가 너무 늦기 때문에 등록을 시도할 때 예외가 발생합니다.

None을 기본값으로 사용해야 합니다.

적용 대상