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