在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.创建数据库

此处的数据库字符串信息是写到配置文件中的

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

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

最后根据传入的消息次数就可以知道BizTalk Orchestration能不能在不同的实例中保存变量值。
posted on 2008-03-14 18:15 Gary Zhang 阅读(345) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!