Application de l’activation dans le contexte par défaut
Un composant COM configuré est généralement activé dans son propre contexte ; c’est-à-dire que COM+ référence les informations du catalogue du composant pour fournir tous les services configurés. Toutefois, vous pouvez choisir d’activer un composant configuré dans le contexte par défaut. Un composant COM de base, un composant inscrit qui n’a aucune information de catalogue COM+, est généralement activé dans le contexte par défaut.
L’activation d’un composant COM dans le contexte par défaut offre trois avantages majeurs en matière de performances, comme suit :
- Vous enregistrez les ressources système en limitant le nombre de contextes créés.
- Vous augmentez les performances en limitant le nombre d’appels inter-contextes. Étant donné que les appels entre les contextes nécessitent un marshaling, il est beaucoup plus rapide pour un objet COM activé dans le contexte par défaut d’effectuer des appels à d’autres objets dans le contexte par défaut. Dans ce cas, les performances (des appels dans le même contexte) sont similaires à celles de l’appel d’une sous-routine.
- Vous pouvez importer des applications COM plus anciennes dans COM+ et les exécuter sans problème. Par exemple, vous pouvez avoir plusieurs applications COM plus anciennes implémentées en partant du principe qu’il était possible de passer des références d’objet dans un appartement sans marshaler les références. Ces applications COM ne fonctionnent pas lorsqu’elles sont importées dans COM+, car les références d’objet sont passées au-delà des limites de contexte. Toutefois, vous pouvez exécuter ce type d’application COM lors de l’importation si vous utilisez l’outil d’administration Component Services pour marquer toutes les classes de l’application comme Doit être activée dans le contexte par défaut.
Le principal inconvénient de l’activation d’un composant configuré dans le contexte par défaut est que COM+ ne fournit aucun des services configurés du composant. Il existe un compromis entre l’amélioration des performances et la possibilité d’utiliser les services COM+.
Par exemple, supposons qu’un composant COM ne nécessite aucun service COM+ (par exemple, transactions, activation juste-à-temps, événements, composants mis en file d’attente, synchronisation ou regroupement d’objets) et que le composant effectue un certain nombre d’appels à d’autres composants COM qui peuvent être activés dans le contexte par défaut. Dans ce cas, il serait judicieux d’activer le composant appelant dans le contexte par défaut.
Si le composant COM nécessite des services COM+, il ne peut pas être marqué comme Doit être activé dans le contexte par défaut. En outre, il n’y a aucun gain de performances réel si un objet COM activé dans le contexte par défaut effectue un certain nombre d’appels à des objets dans d’autres contextes. (Pour plus d’informations, consultez Contextes.)
Pour appliquer l’activation dans le contexte par défaut
Dans le volet d’informations de l’outil d’administration Services de composants, cliquez avec le bouton droit sur le composant (situé dans le dossier Composants de toute application COM+ sélectionnée) que vous souhaitez activer dans le contexte par défaut, puis cliquez sur Propriétés.
Dans la boîte de dialogue propriétés du composant, cliquez sur l’onglet Activation .
Cochez la case Doit être activé dans le contexte par défaut case activée.
Cliquez sur OK.
Notes
Lorsque vous exécutez un composant configuré dans le contexte par défaut, COM+ n’active aucun des services configurés pour ce composant. Ces services sont à nouveau disponibles lorsque vous décochez la case Doit être activé dans le contexte par défaut case activée puis exécutez le composant configuré dans son propre contexte.
Rubriques connexes