Share via


일관성 및 완료 플래그

COM+는 트랜잭션 개체를 활성화하기 전에 항상 컨텍스트 개체를 만듭니다. 컨텍스트 개체는 작성자 및 해당 트랜잭션 식별자와 같은 개체 관련 정보를 보유합니다. 각 컨텍스트 개체에는 일관된 플래그완료 플래그도 포함됩니다. 이러한 플래그는 함께 트랜잭션 개체의 상태 결정합니다.

일관된 플래그는 트랜잭션 개체가 일관되거나 일관되지 않음을 나타냅니다. 개체의 상태를 일관되게 만드는 것에 대한 구체적인 세부 정보는 프로그래머에게 달려 있습니다. 메서드 호출이 이 플래그를 True로 설정하면 개체가 일관됩니다. False는 개체가 일치하지 않음을 나타냅니다. COM+는 개체 instance 만들 때 플래그를 True로 설정합니다. 일관된 개체는 트랜잭션을 진행할 준비가 된 것입니다. 개체가 활성 상태로 유지되는 동안 후속 메서드 호출은 일관된 플래그를 True에서 False로, 그 반대의 경우도 마찬가지입니다.

완료 플래그는 트랜잭션 기간을 결정합니다. 메서드 호출이 반환되면 COM+는 완료 플래그를 검사합니다. 메서드가 이 플래그를 True로 설정하면 COM+는 개체를 비활성화하고 일관된 플래그를 표시합니다. 완료 플래그가 False이면 COM+는 개체를 비활성화하거나 일관된 플래그를 메모하지 않습니다. COM+는 개체 instance 만들 때 완료 플래그를 False로 설정합니다.

일관된 플래그는 실행 중인 트랜잭션을 커밋하거나 중단하기 위해 투표를 캐스팅하고 완료 플래그는 투표를 마무리합니다. COM+는 메서드 호출 반환에서 완료 플래그가 True로 설정되거나 개체가 비활성화되는 경우 일관된 플래그를 검사합니다. 개체의 일관된 플래그는 각 메서드 호출 내에서 반복적으로 변경할 수 있지만 마지막 변경 개수만 계산됩니다.

COM+에서 자동 트랜잭션 관리

일관성 및 완료 플래그 설정