如何升级业务流程

如何更新在生产环境中运行的编排,当编排处理长时间运行的事务或正在等待来自请求-响应端口的响应时。

概述

当业务流程不处理长时间运行的事务时,可以按照清单:更新 BizTalk 应用程序中的项目中描述的方法更新它。 但是,当业务流程处理长时间运行的事务时,无法立即切换到已更新的业务流程版本。 必须允许原始版本完成处理其消息,以便它们不会丢失。 为此,请将更新后的业务流程部署到与原始业务流程相同的应用程序中。 然后,您需要停止原始版本并启动更新的版本,以便它能接收所有新消息,而以前的版本则继续处理正在传输中的消息。 原始编排处理完所有消息后,将其从部署的 BizTalk 应用程序中取消部署。

有关此情景的详细信息,请参阅 情景:更新应用程序工件

重要

如果多个编排与同一接收端口绑定,并且每个编排都已启动或登记,则将重复消息引入系统。

注释

升级到新编排系统时,由于升级过程中旧编排系统和新编排系统之间的竞争条件,在高负荷下某些编排实例可能会进入挂起(可恢复)状态。 若要手动恢复这些业务流程实例,请参阅 如何恢复挂起的业务流程实例

先决条件

使用属于 BizTalk Server 管理员组成员的帐户登录。 你的帐户还必须对本地文件系统和全局程序集缓存具有读/写权限。 本地计算机上的管理员帐户具有此权限。

有关权限的详细信息,请参阅 部署和管理 BizTalk 应用程序所需的权限以及 最低安全权限

更新编排

  1. 对编排进行必要的更改。

  2. 递增程序集版本号,如下所示:

    1. 在解决方案资源管理器中,右键单击 BizTalk 项目,然后单击“ 属性 ”以启动该项目的项目设计器。

    2. 如果应用程序尚未处于活动状态,请单击“ 应用程序 ”选项卡,然后单击“ 程序集信息”。

    3. 在右窗格中,增加程序集版本号。 应仅增加主要版本号或次要版本号。 主版本号是序列中的第一个数字(0.0.0.0):次要版本号是序列中的第二位数字(0。0.0.0)。 BizTalk Server 无法识别序列后面的版本号更改,例如 0.0。0.0 或 0.0.0。0.

    4. 单击“ 确定 ”关闭 “程序集信息 ”对话框。

    5. 保存该项目。

  3. 将程序集从 Visual Studio 部署到 BizTalk 应用程序。 有关说明,请参阅 将 BizTalk 程序集从 Visual Studio 部署到 BizTalk 应用程序。 请确保选择部署选项以在 GAC 中安装程序集。

  4. 测试包含编排的程序集。

  5. 将测试环境中的应用程序中的程序集导出到 .msi 文件中,如 如何导出 BizTalk 应用程序中所述。

    注释

    可以使用以下步骤测试程序集并将其部署到生产环境。 有关开发、测试、暂存和生产中的应用程序部署任务的详细信息,请参阅 应用程序部署任务

  6. 将 .msi 文件导入生产环境中的 BizTalk 应用程序,其中包含要更新的业务流程,如 如何导入 BizTalk 应用程序中所述。

  7. 使用与原始业务流程相同的绑定将更新后的业务流程绑定,如 如何为业务流程配置绑定中所述。

  8. 取消注册原始编排流程,然后启动更新后的编排流程。 为了避免任何丢失的消息,您应按照编程方式部署和启动新版本的协调程序中所述,以编程方式执行此操作。 或者,可以手动执行这些步骤,如 “如何取消登记业务流程”、“ 如何登记业务流程”和 “如何启动业务流程”中所述。

  9. 使用“组中心”页面的查询视图监视原始编排版本的系统实例,如如何查看编排实例信息中所述。

  10. 当应用程序中所有活动、已去活化和挂起的实例完成时,请卸载应用程序中的原始编排,如如何从应用程序删除编排中所述。

  11. (可选)从运行应用程序的每台计算机上的 GAC 中卸载原始程序集版本,如 如何从 GAC 卸载程序集中所述。

另请参阅

更新 BizTalk 应用程序
管理编排