Concepts des services COM+ sans composants
COM+ 1.5 introduit la possibilité d’utiliser les services COM+ sans composants. Cela réduit considérablement les coûts de performances lors de l’utilisation de services COM+ à partir d’un environnement qui n’utilise pas de composants, et élimine également la complexité de l’utilisation de ces services. À compter d’IIS 6.0, IIS et ASP tirent parti de l’utilisation des services COM+ sans composants.
À l’origine, les services COM+ ont été conçus pour être utilisés avec des composants COM+. Toutefois, certains environnements de programmation ne sont pas basés sur des composants et ont donc besoin d’une surcharge importante pour utiliser les services COM+. Par exemple, avant la publication de COM+ 1.5, IIS devait créer des objets shim uniquement pour pouvoir utiliser les services transactionnels COM+ dans les pages ASP. Les coûts de performances qui proviennent de la création de ces objets incluent le stockage des données de configuration dans la métabase IIS et la base de données d’inscription COM+ (RegDB), ainsi que la communication supplémentaire entre la métabase IIS et la base de données REGDB COM+ nécessaire pour gérer efficacement les données de configuration.
Si IIS devait utiliser un deuxième service COM+, tel que la synchronisation, il devait créer un objet shim complètement différent pour ce faire. Pour utiliser à la fois les transactions COM+ et la synchronisation, un troisième type d’objet shim est nécessaire. La complexité de cette approche s’adapte à O(n2), ce qui rend l’implémentation de nouveaux services extrêmement difficile.
Avec l’introduction des services COM+ sans composants, les services nécessaires sont configurés via un objet instancié à partir de la classe . La classe CServiceConfig implémente les interfaces nécessaires pour configurer les différents services tout en offrant la flexibilité nécessaire pour prendre en charge plusieurs services en même temps et la possibilité de prendre en charge de nouveaux services à l’avenir.
Les services configurés peuvent ensuite être utilisés via deux mécanismes différents : ils peuvent être utilisés par le biais de la fonction CoCreateActivity , qui applique les services à l’ensemble du travail envoyé via l’activité créée par la fonction, et ils peuvent également être utilisés en incorporant le travail qui utilise les services entre les appels aux fonctions CoEnterServiceDomain et CoLeaveServiceDomain . Aucune de ces fonctions ne nécessite la création de nouveaux composants pour pouvoir utiliser les services COM+; seul l’objet CServiceConfig est nécessaire.
Rubriques connexes