다음을 통해 공유


COM+ 공유 속성 관리자 개념

COM+에서 개체에 대한 공유 일시적 상태는 SPM(공유 속성 관리자)을 사용하여 관리됩니다. SPM은 서버 프로세스 내의 여러 개체 간에 상태를 공유하는 데 사용할 수 있는 리소스 디스펜서입니다.

동시성 및 이름 충돌 문제로 인해 분산 환경에서 전역 변수를 사용할 수 없습니다. 공유 속성 관리자는 포함된 공유 속성에 대해 고유한 네임스페이스를 설정하는 공유 속성 그룹을 제공하여 이름 충돌을 제거합니다. 또한 SPM은 잠금 및 세마포를 구현하여 공유 속성이 동시에 액세스하지 못하도록 보호하므로 업데이트가 손실되고 속성을 예측할 수 없는 상태로 남을 수 있습니다.

참고

공유 일시적 상태는 시스템 오류를 유지하지 않는 메모리에 유지되는 상태 정보입니다. 이 정보는 트랜잭션 경계를 넘어(프로세스 간에는 아님) 여러 개체가 공유하도록 설계되었습니다.

 

SPM에 저장된 공유 속성은 동일한 프로세스에서 실행되는 개체에만 사용할 수 있습니다. 즉, 값을 저장하기 위해 SPM을 사용하고 이러한 값에 액세스해야 하는 개체는 동일한 COM+ 애플리케이션의 일부로 설치되어야 합니다. COM+ 애플리케이션이 배포된 후 시스템 관리자가 COM+ 클래스를 한 패키지에서 다른 패키지로 이동할 수 있습니다. SPM을 통해 속성을 공유하는 여러 개체를 사용하는 경우 동일한 COM+ 애플리케이션에 설치해야 한다는 것을 명확하게 문서화해야 합니다.

속성을 공유하는 구성 요소에도 동일한 활성화 특성이 있어야 합니다. 동일한 패키지의 두 구성 요소에 서로 다른 활성화 특성이 있는 경우 일반적으로 속성을 공유할 수 없습니다. 예를 들어 한 구성 요소가 클라이언트 프로세스에서 실행되도록 구성되고 다른 구성 요소가 서버 프로세스에서 실행되도록 구성된 경우 해당 개체는 일반적으로 동일한 패키지에 있더라도 다른 프로세스에서 실행됩니다.

기본 클라이언트가 아닌 COM+ 구성 요소에서 항상 SharedPropertyGroupManager, SharedPropertyGroupSharedProperty 개체를 인스턴스화해야 합니다. 기본 클라이언트가 공유 속성 그룹 및 속성을 만드는 경우 공유 속성은 서버 프로세스가 아닌 기본 클라이언트 프로세스 내에 있습니다. 즉, 클라이언트 프로세스에서도 개체가 실행되고 있지 않으면 COM+ 개체가 속성을 공유할 수 없습니다(일반적으로 좋지 않음).

COM+ 공유 속성 관리자

공유 속성 그룹