我正在使用 BizTalk 部署框架来部署我的应用程序。它在本地机器上工作。我想在测试环境中部署,它应该使用 Visual Studio 而不是 MSI。我不确定在哪里更改 HostInstance 名称。
2 回答
首先,如果主机名在 DEV 和所有其他环境中相同,那就更好了。它使事情变得更容易。
但是,如果您真的需要它们不同,您只需使用设置文件将主机名配置为设置,这样 BTDF 就可以在部署时动态设置它们。
为清楚起见,您应该使用 .msi 部署到 TEST,而不是 Visual Studio。
为了进一步澄清,这里有一个在 PortBindingsMaster 中设置主机名的示例 - 请注意,它是按工件配置的(即每个编排、发送端口和接收位置都指定了自己的主机)。我完全同意 Johns-305,主机名在所有环境中绝对应该是相同的——它让生活更轻松,也更少混乱(而且你不太可能引入一些部署问题,因为你忘记配置正确的主机名测试与开发)。只需将您的开发环境配置为镜像 TESt/PROD。您最初应该通过导出绑定来执行此操作,以确保您获得正确的Capabilities
值ConfigurationClsid
。
对于编排:
<Service Name="OrchestrationName" State="Started" TrackingOption="ServiceStartEnd MessageSendReceive OrchestrationEvents" Description="">
<Ports>
...
</Ports>
<Roles />
<Host Name="OrchHost" NTGroupName="${SsoAppUserGroup}" Type="1" Trusted="false" />
</Service>
您可以将 的Name
属性值替换为Host
您的主机变量名称,例如${OrchHostName}
(假设您的 SettingsFileGenerator.xml 中有一行,第一列名称为OrchHostName
)。
对于接收位置:
<ReceiveLocation Name="rlocBlahBlah_FILE">
...
<ReceiveHandler Name="ReceiveHost" HostTrusted="false">
<TransportType Name="FILE" Capabilities="11" ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
</ReceiveHandler>
</ReceiveLocation>
您可以将 的Name
属性值替换为ReceiveHandler
您的主机变量名称,例如${ReceiveHostName}
.
对于发送端口:
<SendPort ...>
...
<PrimaryTransport>
...
<SendHandler Name="SendHost" HostTrusted="false">
<TransportType Name="FILE" Capabilities="11" ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
</SendHandler>
</PrimaryTransport>
<SecondaryTransport> <!-- if configured -->
<SendHandler Name="SendHost" HostTrusted="false">
<TransportType Name="FILE" Capabilities="11" ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
</SendHandler>
</SecondaryTransport>
...
</SendPort>
辅助传输不是必需的,默认情况下也没有配置,但如果您使用它,应该考虑到它。您可以将s的Name
属性替换为.SendHandler
${SendHandlerName}