다음을 통해 공유


일관성 및 완료 플래그 설정

IObjectContext 또는 IContextState 인터페이스에서 메서드를 호출하여 일관되고 완료된 플래그를 설정합니다. 이러한 두 인터페이스에서 사용하는 전략은 크게 다릅니다. IObjectContext 에는 일관되고 완료된 플래그를 고유한 조합으로 결합하는 네 가지 메서드가 있으며 , IContextState 에는 각 플래그를 독립적으로 설정할 수 있는 두 가지 메서드가 있습니다. IObjectContext의 메서드도 ObjectContext 개체를 통해 노출됩니다.

각 플래그 를 독립적으로 제어하기 위해 IContextState 는 일관된 플래그를 True 또는 False로 설정하는 메서드와 완료 플래그를 True 또는 False로 설정하는 메서드를 제공합니다. 이러한 메서드는 각각 SetMyTransactionVote SetDeactivateOnReturn입니다. IContextState 인터페이스에는 각 플래그의 현재 값을 검색하는 메서드도 포함되어 있습니다.

SetMyTransactionVote 메서드 값을 TxCommit으로 설정하면 COM+에서 트랜잭션이 있는지 확인합니다. COM+에서 트랜잭션을 검색하지 않으면 로그 파일에서 캡처할 수 있는 오류가 생성됩니다. 예를 들어 누군가가 실수로 구성 요소의 트랜잭션 특성을 지원되지 않음으로 구성하지만 필수로 설정될 것으로 예상한다고 가정합니다. SetMyTransactionVote = TxCommit을 설정하여 충돌을 식별하고 작업을 수행할 수 있습니다.

다음 표에서는 일관되고 완료된 플래그를 설정하는 데 사용할 수 있는 메서드 호출에 대해 설명합니다.

일관된 플래그 완료 플래그 IObjectContext 메서드 IContextState 메서드

거짓
EnableCommit
SetMyTransactionVote txVote = TxCommit
SetDeactivateOnReturn bDeactivate = False
False
False
DisableCommit
SetMyTransactionVote txVote = TxAbort
SetDeactivateOnReturn bDeactivate = False
False
True
SetAbort
SetMyTransactionVote txVote = TxAbort
SetDeactivateOnReturn bDeactivate = True
True
True
SetComplete
SetMyTransactionVote txVote = TxCommit
SetDeactivateOnReturn bDeactivate = True

참고 항목

메서드 수준에서 설정된 자동 완료 속성은 일관되고 완료된 플래그가 설정되는 방식에 영향을 줄 수 있습니다. 자동 완료 속성에 대한 자세한 내용은 메서드에 대해 자동 완료 사용 및 완료 비트 설정을 참조하세요.