Isolation des erreurs et stratégie de restauration rapide
COM+ effectue des vérifications d’intégrité et de cohérence internes étendues. Si COM+ rencontre une condition d’erreur interne inattendue, il termine immédiatement le processus. Cette stratégie, appelée failfast, facilite l’endiguement des pannes et génère des systèmes plus fiables et plus robustes.
Prenons l’exemple d’un cas où COM+ détecte que l’une de ses structures de données est dans un état endommagé. À ce stade, la cause et l’ampleur de la corruption sont inconnues et, malheureusement, COM+ ne peut pas dire jusqu’où les dommages se sont propagés. Toutefois, même si COM+ est dans un état indéterminé, il ne s’exécute pas de manière isolée. Comme d’autres DLL, il est hébergé dans un environnement de processus et partage un espace d’adressage unique avec l’exécutable du programme main et de nombreuses autres DLL. Par conséquent, COM+ suppose que l’ensemble du processus a été endommagé et qu’il est immédiatement arrêté pour l’empêcher de propager des informations potentiellement endommagées à d’autres processus ou, pire encore, de permettre la validation et la durabilité des données endommagées.
COM+ n’autorise pas la propagation d’exceptions en dehors d’un contexte. Si une exception se produit lors de l’exécution dans un contexte COM+ et que l’application n’intercepte pas l’exception avant de revenir du contexte, COM+ intercepte l’exception et termine le processus. L’utilisation de la stratégie failfast dans ce cas est basée sur l’hypothèse que l’exception a mis le processus dans un état indéterminé ; il n’est pas sûr de continuer le traitement.
En tant que développeur ou administrateur, vous devez inspecter le journal des applications observateur d'événements pour plus d’informations sur toute action de restauration rapide ou sur les erreurs d’application graves.
Rubriques connexes