故障隔离和 Failfast 策略

COM+ 执行广泛的内部完整性和一致性检查。 如果 COM+ 遇到意外的内部错误条件,它将立即终止进程。 此策略称为 failfast,有助于控制故障,并产生更可靠、更稳健的系统。

考虑一个 COM+ 检测到其某个数据结构处于损坏状态的情况。 此时,损坏的原因和程度都未知,且遗憾的是,COM+ 无法判断损坏的程度。 但是,即使 COM+ 处于不确定状态,它也不会以隔离方式运行。 与其他 DLL 一样,它托管在进程环境中,并与主程序可执行文件和其他许多 DLL 共享单个地址空间。 因此,COM+ 假定整个进程已损坏,并且该进程会立即终止,以防止它将潜在的损坏信息传播到其他进程,或者更糟的是,允许提交损坏的数据并使其持久化。

COM+ 不允许异常在上下文之外传播。 如果在 COM+ 上下文中执行时发生异常,并且应用程序在从上下文返回之前没有捕获异常,则 COM+ 将捕获异常并终止进程。 在这种情况下,使用 failfast 策略是基于这样的假设,即异常已将进程置于不确定状态;继续处理不安全。

作为开发人员或管理员,应检查事件查看器应用程序日志,了解有关任何 failfast 操作或严重应用程序错误的详细信息。

查找错误来源

COM+ 如何修改返回值

解释错误代码

COM+ 中的错误处理策略

故障排除