如何使用 BTDF 更新 BizTalk 解决方案

How do I update BizTalk solution using BTDF

当使用 BTDF 并使用生成的安装程序包部署原始部署时,现有应用程序将被删除并创建新应用程序,从而删除编排执行的历史记录。

这对我们的组织来说是一个潜在的问题,因为我们需要在需要时为 auditing/debugging 完成最近的编排。

BTDF 中是否有解决此限制的方法?

不,一旦取消部署应用程序,跟踪数据就会消失。您有几个选择:

  1. 在应用程序卸载前在BTDF 中配置自定义目标以备份跟踪数据库中的相关数据。我不推荐这个。这需要一些努力才能弄清楚并且很难正常工作。
  2. 将您的业务流程配置为执行自定义日志记录(到数据库)以用于审计目的。这将更便携、更可持续,但需要更多的努力。

无论哪种方式,如果需要调试历史版本,您应该保留 backups/archives 应用程序。冒着遗漏明显问题的风险,这种调试和跟踪应该在您的 DEV 环境中完成——它应该与您的 PROD 和 QA/TEST 环境保持同步。


另一种更激进的可能性是修改 BTDF 的默认 BizTalkDeploymentFramework.targets 文件以添加一个选项,以便在使用 BTSTask.exe 的任何情况下使用 -Overwrite 标志。但是,要执行此操作,您必须确保您正在更新的任何编排在尝试覆盖它之前已取消登记。在 SDK 中有一个如何自动执行此任务的示例:

C:\Program Files (x86)\Microsoft BizTalk Server 2013\SDK\Samples\Admin\WMI\Enlist Orchestration

但是,显然每台开发 BTDF 的机器都需要这样做,如果 BTDF 的未来版本不支持,则需要重做。