1

我正在使用 BizTalk 部署框架来部署我的应用程序。它在本地机器上工作。我想在测试环境中部署,它应该使用 Visual Studio 而不是 MSI。我不确定在哪里更改 HostInstance 名称。

4

2 回答 2

3

首先,如果主机名在 DEV 和所有其他环境中相同,那就更好了。它使事情变得更容易。

但是,如果您真的需要它们不同,您只需使用设置文件将主机名配置为设置,这样 BTDF 就可以在部署时动态设置它们。

为清楚起见,您应该使用 .msi 部署到 TEST,而不是 Visual Studio。

于 2016-03-14T12:33:18.610 回答
1

为了进一步澄清,这里有一个在 PortBindingsMaster 中设置主机名的示例 - 请注意,它是按工件配置的(即每个编排、发送端口和接收位置都指定了自己的主机)。我完全同意 Johns-305,主机名在所有环境中绝对应该是相同的——它让生活更轻松,也更少混乱(而且你不太可能引入一些部署问题,因为你忘记配置正确的主机名测试与开发)。只需将您的开发环境配置为镜像 TESt/PROD。您最初应该通过导出绑定来执行此操作,以确保您获得正确的CapabilitiesConfigurationClsid

对于编排:

<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}

于 2016-03-14T12:56:04.880 回答