BizTalk部署和业务规则

BizTalk部署和业务规则,biztalk,biztalk-2013,biztalk-deployment,biztalk-rule-engine,btdf,Biztalk,Biztalk 2013,Biztalk Deployment,Biztalk Rule Engine,Btdf,我是BizTalk开发的新手,只正确使用了6-7周,请原谅我的天真 我有一个基本的BizTalk 2013应用程序正在开发中,准备部署到测试环境中 我正在使用业务规则定义出站传输位置,在完成所有转换后,这会将数据发送到SQL Server中的存储过程,该存储过程会插入/更新记录: mssql://.//db1? 当我们部署到测试/实时环境时,我们将无法将出站传输位置设置为本地计算机,因为数据库将存储在应用程序的单独服务器上。例如: mssql://dbserver//db1? 我查看了Biz

我是BizTalk开发的新手,只正确使用了6-7周,请原谅我的天真

我有一个基本的BizTalk 2013应用程序正在开发中,准备部署到测试环境中

我正在使用业务规则定义出站传输位置,在完成所有转换后,这会将数据发送到SQL Server中的存储过程,该存储过程会插入/更新记录:

mssql://.//db1?
当我们部署到测试/实时环境时,我们将无法将出站传输位置设置为本地计算机,因为数据库将存储在应用程序的单独服务器上。例如:

mssql://dbserver//db1?
我查看了BizTalk部署框架,查看是否可以根据环境修改业务规则,但没有找到任何内容


所以我的问题是,管理基于环境的业务规则设置的最佳(最低维护)方法是什么?最好使用BizTalk部署框架。

我将发布我使用的解决方案,以供将来参考,并帮助将来遇到此问题的任何人

在BizTalk部署框架中,可以将其他XML文件添加到生成中,并按照预处理绑定文件的方式对其进行预处理,具体取决于环境

下面是deployment.btdfproj文件中的一些片段。不要忘记,对于BizTalk部署框架,顺序至关重要:

<!-- Add the policy file as an additional item to the build -->
<ItemGroup>
    <AdditionalFiles Include="my_policy_file.xml">
      <LocationPath>..\$(ProjectName)\location_to_policy</LocationPath>
    </AdditionalFiles>
</ItemGroup>

<!-- Processes the additional XML policy files added to the MSI main build folder. -->
<ItemGroup>
    <FilesToXmlPreprocess Include="my_policy_file.xml">
         <LocationPath>..\</LocationPath>
    </FilesToXmlPreprocess>
</ItemGroup>

<!-- You still have to add the business rule to the build. It is overwritten later. -->
<ItemGroup>
    <RulePolicies Include="my_policy_file.xml">
        <LocationPath>..\$(ProjectName)\location_to_property</LocationPath>
    </RulePolicies>
</ItemGroup>

<!-- Towards the end of the file the pre-processed file overwrites the originally included policy file. -->
<Target Name="CopyXMLPreprocessedPoliciesToBRE" AfterTargets="PreprocessFiles">
    <copy sourceFiles="..\my_policy_file.xml" DestinationFolder="..\BRE\Policies"/>
</Target>