为什么在我安装 msi 时我的 Orchestration 上的绑定会发生变化?

Why do the bindings on my Orchestration change when I install an msi?

我们的一个项目由多个简单的编排组成。每当我将 msi 中的 Orchestrations 从 Dev 部署到实时环境时,其中 2 个的绑定会发生变化(msi 中没有绑定)。这些业务流程有 2 个 send-ports,一个用于运行,一个用于备份位置。

到目前为止,在 send-Port 绑定发生变化的两种情况下,备份 send-port 突然发生变化,而 send-ports 的变化是一致的。在这一项目的 6 个 Orchestrations 上的总共 12 个端口中,更改的总是相同的两个。

但为什么他们会改变?为什么它看起来毫无意义? Dev 上的 send-ports 具有不相关的快速命名 send-ports,无法更改 live 上的那些。我唯一能想到的是初始配置错误,每次新安装 msi 都会将 Orchestration 重置为该初始配置。

开发设置

安装 MSI 之前的实时设置

安装 MSI 后的实时设置

查看文件夹 %APPDATA%\Microsoft\BizTalk Server\Deployment\BindingFiles\

您会发现其中会有一些绑定文件,其中包括一个包含错误配置的文件。删除该文件夹中的所有文件,并在下一次部署时使用最新的绑定配置重新创建它。似乎 BizTalk 在部署 MSI 后获取绑定的副本以重新应用,但是它似乎有一个错误,有时不会检测到它已更改并且不会将绑定重新导出到该缓存等最终使用旧副本。

最佳做法实际上是在每次部署后应用您想要的绑定,并且这些绑定受源代码控制。