COM+는 트랜잭션 개체를 활성화하기 전에 항상 컨텍스트 개체를 만듭니다. 컨텍스트 개체는 작성자 및 트랜잭션 식별자와 같은 개체 관련 정보를 보유합니다. 또한 각 컨텍스트 개체에는 일관된 플래그 및 완료 플래그포함됩니다. 이러한 플래그는 함께 트랜잭션 개체의 상태를 결정합니다.
일관된 플래그는 트랜잭션 개체가 일관되거나 일관성이 없음을 나타냅니다. 개체의 상태를 일관되게 만드는 것에 대한 구체적인 세부 정보는 프로그래머에게 달려 있습니다. 메서드 호출에서 이 플래그를 True로 설정하면 개체가 일관됩니다. False는 개체가 일치하지 않음을 나타냅니다. COM+는 개체 인스턴스를 만들 때 플래그를 True로 설정합니다. 일관된 개체는 트랜잭션을 진행할 준비가 된 것입니다. 개체가 활성 상태로 유지되는 동안 후속 메서드 호출은 일관된 플래그를 True에서 False로, 그 반대의 경우도 마찬가지입니다.
완료 플래그는 트랜잭션 기간을 결정합니다. 메서드 호출이 반환되면 COM+는 완료 플래그를 검사합니다. 메서드가 이 플래그를 True로 설정하면 COM+에서 개체를 비활성화하고 일관된 플래그를 적어 줍니다. 완료된 플래그가 False이면 COM+는 개체를 비활성화하거나 일관된 플래그를 메모하지 않습니다. COM+는 개체 인스턴스를 만들 때 완료 플래그를 False로 설정합니다.
일관된 플래그는 실행 중인 트랜잭션을 커밋하거나 중단하기 위해 투표를 캐스팅하고 완료 플래그는 투표를 완료합니다. COM+는 메서드 호출 반환에서 완료 플래그가 True로 설정되거나 개체가 비활성화되는 경우 일관된 플래그를 검사합니다. 개체의 일관된 플래그는 각 메서드 호출 내에서 반복적으로 변경 될 수 있지만 마지막 변경 개수만 계산됩니다.
관련 항목
-
COM+ 자동 트랜잭션 관리
-
일관성 및 완료 플래그 설정