场景:更新应用程序项目
存在以下两个在已部署到生产环境的应用程序中更新项目的基本情况:
在某一业务流程处理长期事务或正在等待来自要求-响应端口的响应时,通过新版本更新该业务流程。
在您并不关心消息处理是否完成时,例如使用新版本更新架构或映射,这是更一般性的更新情况。
在一般性的更新情况中,您可能在用新版本更新某一项目,例如为了满足业务要求变化。 此情况相对简单,并且您可以用更新后的项目覆盖原始项目。 有关相关步骤的列表,请参阅 清单:更新 BizTalk 应用程序中的项目。
第二种情况更为复杂。 在此情况中,您必须允许现有业务流程完成对消息的处理。 同时,您必须避免现有业务流程处理任何新消息。 而是应该让业务流程的已更新版本进行处理。 为此,您将包含已更新业务流程的程序集部署到与原始版本相同的 BizTalk 应用程序中,然后同时运行这两个业务流程。 (新程序集的版本号必须与包含原始业务流程的程序集不同的版本号,否则将无法将其部署到同一 BizTalk 组。) 然后停止原始业务流程,以便不会将新消息路由到它,并启动更新的版本,以便将所有新消息发送到它。 在原始版本完成其所有消息的处理后,您可以取消对它的部署。 有关执行这些任务的说明,请参阅 如何升级业务流程。
下图显示了典型的并行业务流程部署方案。