COM+ 컬렉션 계층 구조 탐색
COMAdminCatalog 개체에서 GetCollection 메서드를 사용하여 쉽게 검색할 수 있는 컬렉션도 있습니다. 이 메서드는 "최상위" 컬렉션을 검색합니다. 즉, 애플리케이션과 같은 컬렉션입니다. 이 컬렉션은 자체적으로 의미하며 다른 컬렉션에서 논리적으로 하위 하위 항목이 아닌 고유합니다.
그러나 많은 컬렉션은 일부 더 큰 구조의 일부인 요소를 포함하기 때문에 다른 컬렉션에서 논리적으로 하위됩니다. 예를 들어 Components 컬렉션은 Applications 컬렉션의 항목에 해당하는 특정 COM+ 애플리케이션에 설치된 구성 요소를 포함하므로 Applications 컬렉션에 하위 또는 관련이 있습니다 . 이와 같은 관련 컬렉션은 고유하지 않습니다. 각 고유 애플리케이션에 대한 Components 컬렉션이 있습니다.
따라서 컬렉션은 포함된 항목 간의 논리적 관계에 자연스럽게 해당하는 계층 구조로 정렬됩니다. 컬렉션 계층 구조의 다이어그램은 COM+ 관리 컬렉션에서 찾을 수 있습니다. COMAdmin 개체를 사용하여 구성하려는 많은 요소의 경우 컬렉션 계층의 일부를 탐색하여 적절한 항목을 검색해야 합니다.
실제로 의미는 관련 컬렉션에서 항목을 얻으려면 필요한 모든 상위 수준을 거쳐야 하며 먼저 컬렉션을 하위화해야 한다는 것입니다. 관련 컬렉션을 검색하려면 자식 컬렉션이 관련된 부모 컬렉션의 특정 항목을 검색해야 합니다. 예를 들어 특정 COM+ 애플리케이션의 구성 요소에 해당하는 항목을 구성하려면 다음 단계를 수행해야 합니다.
- Applications 컬렉션을 가져와서 채웁니다.
- 올바른 COM+ 애플리케이션에 해당하는 항목에 도착할 때까지 Applications 컬렉션의 내용을 열거합니다.
- 특정 COM+ 애플리케이션에 대한 Components 컬렉션을 가져와서 채웁니다.
- 올바른 구성 요소에 해당하는 항목에 도착할 때까지 Components 컬렉션의 내용을 열거합니다.
다음 Microsoft Visual Basic 예제에서는 이전 단계를 수행하는 방법을 보여줍니다.
On Error GoTo My_Error_Handler
Dim Catalog As COMAdminCatalog
Set Catalog = CreateObject("COMAdmin.COMAdminCatalog")
' Get the Applications collection and populate it.
Dim Applications As COMAdminCatalogCollection
Set Applications = Catalog.GetCollection("Applications")
Applications.Populate
' Get the correct application, "My Application".
Dim AppObject As COMAdminCatalogObject
For Each AppObject in Applications
If AppObject.Name = "My Application" Then
Exit For
End If
Next
' Get and populate the Components collection for "My Application".
Dim Components As COMAdminCatalogCollection
Set Components = Applications.GetCollection("Components", AppObject.Key)
Components.Populate
' Get the correct component, "My Component".
Dim CompObject As COMAdminCatalogObject
For Each CompObject in Components
If CompObject.Name = "My Component" Then
Exit For
End If
Next
앞의 예제에서는 두 개의 고유한 GetCollection 메서드가 사용됩니다. 첫 번째는 COMAdminCatalog 에 의해 노출되며 최상위 컬렉션(이 경우 "애플리케이션")을 가져오는 데 사용됩니다. 두 번째는 COMAdminCatalogCollection 에 의해 노출되며 현재 컬렉션과 관련된 컬렉션을 가져오는 데 사용됩니다. 부모 개체의 이름 "Components"와 Key 속성 값을 전달하여 원하는 컬렉션을 정확하게 나타냅니다. Key 속성 값은 개체를 고유하게 식별하는 이름 또는 GUID인 경우가 많습니다. 이 값은 각 컬렉션에 대한 설명서에서 식별됩니다.
가장 일반적인 경우 원하는 컬렉션을 검색할 때까지 컬렉션 계층 구조에서 관련 컬렉션을 반복적으로 가져와야 합니다. 수행하는 단계는 동일한 일반 모델을 반복적으로 따릅니다. 전체 컬렉션 목록은 COM+ 관리 컬렉션을 참조하세요.
경우에 따라 컬렉션 계층 구조를 통해 경로를 두 번째로 따를 때 바로 가기 메서드를 사용할 수 있습니다. 이 메서드는 이미 모든 중간 키 값을 캐시한 후에만 사용할 수 있습니다. 자세한 내용은 ICOMAdminCatalog::GetCollectionByQuery를 참조하세요.
관련 항목