在BizTalk的Orchestration中测试变量能否在不同的实例中共用
很想自己写一篇关于BizTalk开发的。今天刚好做了一个Demo。本来的想法主要是为了验证一下Orchestration里面的变量能否保存数据。经过本次演示应该是不能够保存的。我的理解应该是每个消息进来都会产生新的Orchestration实例。所以变量也就会被重新New一下。不过本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能不能在不同的实例中保存变量值。
- 在Orchestration中引用自己写的DLL组件。
- 动态设置File Adapter的文件路径。
- BizTalk中关于配置信息的访问。
[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 阅读(344) 评论(0) 编辑 收藏 举报