使用 BTDF 取消编排

Unenlisting Orchestration using BTDF

我正在处理一项要求,我们需要在 20 个编排中保留 2 个处于未登记状态。 我正在使用 BTDF 进行部署。即使我在绑定文件中将状态保持为 Unenlisted,在部署结束时 BTDF 将启动应用程序,这将导致启动所有业务流程。 谁能帮我实现同样的目标。 下面是我的绑定文件的片段:

<Service Name="ACE.Claims.HFC.Integration.Orchestrations.getStockInfo" State="Unenlisted" TrackingOption="ServiceStartEnd MessageSendReceive InboundMessageBody OutboundMessageBody OrchestrationEvents TrackPropertiesForIncomingMessages TrackPropertiesForOutgoingMessages" Description="">
          <Ports />
          <Roles />
          <Host Name="${Hosts.ClaimsHFCProcess}" NTGroupName="${Groups.BTSApplicationUsers}" Type="1" Trusted="${Hosts.IsTrusted}" />
</Service>

我们可以通过两种方式将编排保持在未登记状态

  1. 使用 BTDF PortBindingsMaster.xml 文件为您想要的 Orchestration 设置 State="Unenlisted"。
  2. 使用 WMI 脚本我们可以取消编排 post 使用 BTDF 成功部署。

BTDF

<Target Name="CustomDeployTarget">
         <Exec Command="my_command_to_execute" />
</Target>

脚本

cscript.exe "c:\Program Files (x86)\Microsoft BizTalk Server 2010\SDK\Samples\Admin\WMI\Stop Orchestration\VBScript\StopOrch.vbs" "myNameSpaceName.OrchestrationName" "myAppName" Unenlist

仅通过配置无法做到这一点。

您应该可以通过结合使用两个选项来实现此目的:

  • EnableAllReceiveLocationsOnDeploy = false
  • 还有一个 CustomPostDeployTarget 脚本来取消登记两个编排。

然后您可以手动启动接收位置以开始处理。