Navigation dans la hiérarchie de collection COM+
Certaines collections que vous pouvez récupérer facilement à l’aide de la méthode GetCollection sur l’objet COMAdminCatalog . Cette méthode récupère une collection de « niveau supérieur » ; c’est-à-dire une collection telle que Applications, qui se tient seule et qui est unique et qui n’est pas logiquement subsumée sous une autre collection.
Toutefois, de nombreuses collections sont logiquement subsumées sous une autre collection, car elles contiennent des éléments qui font partie d’une structure plus grande. Par exemple, la collection Components est subordonnée ou liée à la collection Applications , car elle contient les composants installés dans une application COM+ particulière, qui correspond elle-même à un élément de la collection Applications . Les collections associées telles que celles-ci ne sont pas uniques ; il existe une collection Components pour chaque application distincte.
Par conséquent, les collections sont organisées dans une structure hiérarchique qui correspond naturellement aux relations logiques entre les éléments qu’elles contiennent. Vous trouverez un diagramme de la hiérarchie de collection à l’adresse Collections d’administration COM+. Pour la plupart des éléments que vous souhaitez configurer à l’aide des objets COMAdmin, vous devez parcourir une partie de la hiérarchie de collection pour récupérer l’élément approprié.
Dans la pratique, cela signifie que si vous souhaitez obtenir un élément dans une collection associée, vous devez d’abord passer par tous les niveaux supérieurs nécessaires, en subsumant les collections. Et pour récupérer une collection associée, vous devez récupérer l’élément spécifique de la collection parente à laquelle la collection enfant est liée. Par exemple, si vous souhaitez configurer un élément correspondant à un composant dans une application COM+ particulière, vous devez effectuer les étapes suivantes :
- Obtenez la collection Applications et renseignez-la.
- Énumérez le contenu de la collection Applications jusqu’à ce que vous obteniez l’élément correspondant à l’application COM+ appropriée.
- Obtenez et renseignez la collection Components pour cette application COM+ particulière.
- Énumérez le contenu de la collection Components jusqu’à ce que vous obteniez l’élément correspondant au composant approprié.
L’exemple Microsoft Visual Basic suivant montre comment effectuer les étapes précédentes :
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
Deux méthodes GetCollection distinctes sont utilisées dans l’exemple précédent. Le premier est exposé par COMAdminCatalog et est utilisé pour obtenir une collection de niveau supérieur, dans ce cas, « Applications ». La seconde est exposée par COMAdminCatalogCollection et est utilisée pour obtenir une collection liée à la collection actuelle ; vous indiquez précisément la collection que vous souhaitez en passant le nom « Components » et la valeur de la propriété Key de l’objet parent. La valeur de la propriété Key est souvent un nom ou un GUID qui identifie de manière unique l’objet ; cette valeur est identifiée dans la documentation de chaque collection.
Dans le cas le plus général, vous devez obtenir des collections associées de manière itérative dans la hiérarchie de collection jusqu’à récupérer la collection souhaitée. Les étapes que vous effectuez suivent le même modèle général, de manière répétitive. Pour obtenir la liste complète des collections, consultez Collections d’administration COM+.
Dans certains cas, vous pouvez utiliser une méthode de raccourci la deuxième fois que vous suivez un chemin d’accès dans la hiérarchie de collection. Vous pouvez utiliser cette méthode uniquement une fois que vous avez déjà mis en cache toutes les valeurs de clé intermédiaires. Pour plus d’informations, consultez ICOMAdminCatalog::GetCollectionByQuery.
Rubriques connexes