清单:使用并排版本控制更新业务流程

对业务流程的更改可能比对其他项目(如映射)的更改更为复杂。 如果你有生存期较短的业务流程,那么简单的更新可能就足够了。 但是,如果你有长时间运行的业务流程或无法终止现有实例,则并行版本控制将是你唯一的选择。

当业务流程处理长时间运行的事务时,无法立即更改为业务流程的更新版本。 必须允许原始版本完成其消息的处理,以便它们不会丢失。 为此,请将已更新的业务流程与原始版本部署到同一应用程序。 然后,停止原始版本并启动已更新的版本,以便在先前版本继续处理任何正在处理的消息时可以接收所有新消息。 在原始业务流程完成其所有消息的处理后,从其部署的 BizTalk 应用程序中取消对它的部署。

步骤 参考
对业务流程进行必要的更改后,递增程序集版本号。 如何更新程序集
将程序集从 Visual Studio 部署到 BizTalk 应用程序,然后测试程序集。 注意: 请确保选择部署选项以在 GAC 中安装程序集。 将 BizTalk 程序集从 Visual Studio 部署到 BizTalk 应用程序 (https://go.microsoft.com/fwlink/?LinkID=154719) 。
将程序集从测试环境中的应用程序导出到 .msi 文件中。 如何将应用程序导出到 .msi 文件
将 .msi 文件导入生产环境中的 BizTalk 应用程序,其中包含要更新的业务流程。 注意: 可以使用以下步骤来测试程序集并将其部署到生产环境。 如何从 .msi 文件导入应用程序
使用与原始业务流程相同的绑定来绑定更新的业务流程。 如何为业务流程配置绑定 (https://go.microsoft.com/fwlink/?LinkId=154850) 。
取消登记原始业务流程,然后启动已更新的业务流程。 注意: 为了避免任何丢弃的消息,应以编程方式执行此操作。 有关以编程方式部署业务流程的详细信息,请参阅 以编程方式部署和启动业务流程的新版本 (https://go.microsoft.com/fwlink/?LinkId=154851) 。

有关手动部署业务流程的详细信息,请参阅BizTalk Server帮助中的以下内容:

- 如何取消登记业务流程 (https://go.microsoft.com/fwlink/?LinkId=154852) 。
- 如何登记业务流程 (https://go.microsoft.com/fwlink/?LinkId=154853) 。
- 如何启动业务流程 (https://go.microsoft.com/fwlink/?LinkId=154854) 。
使用组中心页面查询视图监视系统的原始业务流程版本的实例。 如何查看业务流程 (https://go.microsoft.com/fwlink/?LinkId=154855) 的实例信息。
当其所有活动、冻结和挂起的实例完成时,请从应用程序取消部署原始业务流程。 如何从应用程序 () https://go.microsoft.com/fwlink/?LinkId=154856 中删除业务流程。
(可选)在运行应用程序的每台计算机上的 GAC 中卸载原始程序集版本。 如何从 GAC () https://go.microsoft.com/fwlink/?LinkId=154857 卸载程序集。

绑定到接收端口和位置

如果要为新版本的业务流程创建新的接收端口和位置,只需绑定到新端口并登记/启动新项目通常就足够了。 创建新的接收位置和端口通常是首选方法,尤其是在方案使用长时间运行的业务流程时,其中仍需要处理大量相关接收。 在这种情况下,可能无法重用现有接收端口或执行取消登记。 如果创建新端口,请确保后端和合作伙伴系统能够处理此更改。 如果没有,则必须等待所有长时间运行的实例达到高潮,然后再升级。

如果要使用现有端口,请执行以下操作:

  1. 将新版本的业务流程绑定到现有端口。

  2. 取消登记 (但不停止) 旧业务流程版本。

  3. 登记并启动新的业务流程版本。

    注意

    可以使用脚本在一个事务中执行步骤 2 和 3,以便在手动单击之间不会缺少消息订阅。