设计业务流程时,应仔细考虑可能出现问题的位置,以及如何最好地处理这些问题。 许多编排有几个潜在的故障点。 由于任何其他原因,可能会出现问题;例如,服务器可能会关闭,或者消息的格式可能不正确。
对于长时间运行或复杂的协调程序来说,保持状态跟踪并在错误发生时及时报告尤其重要,以便你可以准确且以最小的努力解决问题。 协调维护一组密切相关操作的完整性同样重要,因此,如果事务的一部分发生,但另一个未执行,整个事务可以回滚,就好像从未发生过一样。
BizTalk 业务流程使你能够保证工作的原子性,即相关操作的完整性,即使外部系统参与事务,也能做到这一点。 它提供处理错误、维护业务流程状态以及通过事务、补偿和异常处理解决问题的工具。
作为事务和异常处理框架,编排设计器提供了作用域形状。 范围可以具有事务类型、补偿和任意数量的异常处理程序。
以下是设置事务和异常处理的步骤:
创建范围。
确定所需的事务类型。
确定需要补偿的内容。
识别潜在错误。
添加适当的异常处理程序和补偿代码。
事务、异常处理和补偿的使用示例
从 https://go.microsoft.com/fwlink/?LinkId=73703 下载 SDK 示例“业务流程中 COM+ 服务组件的原子事务”。
从 https://go.microsoft.com/fwlink/?LinkId=73703 下载 SDK 示例“在业务流程中使用 SQL 适配器与原子事务”。
从 https://go.microsoft.com/fwlink/?LinkId=73703 下载 SDK 示例“在编排中使用 Long-Running 事务”。
从 https://go.microsoft.com/fwlink/?LinkId=73703中下载 SDK 示例“业务流程中的异常处理”。