在BizTalk的Orchestration中测试变量能否在不同的实例中共用

        很想自己写一篇关于BizTalk开发的。今天刚好做了一个Demo。本来的想法主要是为了验证一下Orchestration里面的变量能否保存数据。经过本次演示应该是不能够保存的。我的理解应该是每个消息进来都会产生新的Orchestration实例。所以变量也就会被重新New一下。不过本Demo还是有几个看点:
  • 在Orchestration中引用自己写的DLL组件。
  • 动态设置File Adapter的文件路径。
  • BizTalk中关于配置信息的访问。
     为了更深入的探讨我会在接下来的几篇文章中分别对其进行说明。以下是本次Demo的一些步骤的信息以及我做这个Demo的思路。
[Demo过程]XML消息的输出路径信息数据库。通过自己写的DLL组件来访问数据库并返回数据库中的值,BizTalk Application调用该组件并且在Orchestration里根据配置信息值来选择XML消息的输出路径。
[验证思路]1.我在DLL访问数据库的方法中增加记录日志的语句。第一次消息传入BizTalk的Application。则日志会有数据库访问信息。第二次消息再传入BizTalk Application。如果可以保存的话日志中不会再出现数据访问记录。如果不能保存的话就会在日志中还会出现访问数据库的记录。
2.更改数据库中的值。如果马上就反应到流程中的话就说明BizTalk Applicaton中变量只能应用一个实例。
     [过程图解]
                  
1.创建数据库
                   2. 编写代码
                       此处的数据库字符串信息是写到配置文件中的

                        
                       3.
创建BizTalk Orchestration及Schema。最后部署项目。记得将DBLibary的DLL文件拷到%systemroot%\Assembly
                               此处用到了动态设置文件适配器的输出路径。


                        4.最后做验证测试。做测试的XML文件可以用Scheam的生成功能自动生成。不是此Demo的重点。但会在以后的文章中讲。
                           

         最后根据传入的消息次数就可以知道BizTalk Orchestration能不能在不同的实例中保存变量值。



posted on 2008-03-14 18:15  Gary Zhang  阅读(317)  评论(0编辑  收藏  举报

导航