錯誤隔離和失敗原則
COM+ 會執行廣泛的內部完整性和一致性檢查。 如果 COM+ 遇到非預期的內部錯誤狀況,它會立即終止進程。 此原則稱為 failfast,可協助錯誤內含,並產生更可靠且健全的系統。
請考慮 COM+ 偵測到其中一個數據結構處於損毀狀態的情況。 此時,腐敗的原因和規模都未知,不幸的是,COM+ 無法分辨損害的蔓延程度。 不過,即使 COM+ 處於不確定狀態,也不會隔離執行。 與其他 DLL 一樣,它會裝載於進程環境中,並與主要程式可執行檔和其他許多 DLL 共用單一位址空間。 因此,COM+ 假設整個程式已損毀,而且程式會立即終止,以防止它將潛在的損毀資訊散佈到其他進程,或者更糟的是,不允許認可損毀的數據並使其持久。
COM+ 不允許例外狀況傳播到內容外部。 如果在 COM+ 內容中執行時發生例外狀況,而且應用程式在從內容傳回之前不會攔截例外狀況,COM+ 會攔截例外狀況並終止進程。 在此情況下,使用失敗原則是以例外狀況使進程進入不確定狀態的假設為基礎;繼續處理並不安全。
身為開發人員或系統管理員,您應該檢查 事件檢視器 應用程式記錄檔,以取得任何失敗動作或嚴重應用程式錯誤的詳細數據。
相關主題