BizTalk部署和业务规则

时间:2014-06-30 10:22:16

标签: biztalk biztalk-2013 biztalk-deployment biztalk-rule-engine btdf

我是BizTalk开发的新手,只使用了6到7周,所以请原谅我的天真。

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

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

mssql://.//db1?

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

mssql://dbserver//db1?

我查看了BizTalk部署框架,了解是否可以根据环境修改业务规则,但无法找到任何内容。

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

1 个答案:

答案 0 :(得分:1)

我会发布我用于未来参考的解决方案,并帮助将来遇到此问题的任何人。

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

有关更多信息,请查看BizTalk部署框架网站上的此主题:https://biztalkdeployment.codeplex.com/discussions/392801