Отключение Orchestration с использованием BTDF
Я работаю над требованием, при котором нам нужно сохранить 2 из 20 оркестровок в незарегистрированном состоянии. Я использую 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>
2 ответа
Решение
Есть два способа, которыми мы можем поддерживать оркестровку в незарегистрированном состоянии
- Используя файл BTDF PortBindingsMaster.xml, установите State="Unenlisted" для оркестровки, которой вы хотите быть.
- используя сценарий WMI, мы можем снять список оркестровки после успешного развертывания с использованием 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 для отмены включения двух оркестровок.
Затем вы можете вручную запустить получение местоположений, чтобы начать обработку.