biztalk 里面的事务处理,有篇不错的文章
BizTalk Orchestration: Transactions, Exceptions, and Debugging
中文
BizTalk Orchestration: 事务、异常和调试
里面描述的是Biztalk2000的事务处理机制,那个时候的biztalk还是建立在COM,COM+模型上的.
有这么句话 ---
"BizTalk Orchestration Services 所提供的第一个级别的事务支持使得整个计划被当作一个事务组件。计划的事务性支持是声明设定的,其具体方式类似于为 COM+ 组件声明事务性支持。计划然后就由一个 COM+ 组件初始,该组件可能已在一个事务性上下文中运行,也可能不是这样。在本质上,计划用于实施该事务性 COM+ 组件。"
不知道biztalk2004建立在.net framework上的是否还可以将整个计划当作一个事务组件.
另外习惯sql 事务处理的人,可能需要搞清楚,象发送一个邮件出去,发送一个消息文档到某个文件夹,虽然可以被包含在orchestration事务之中,但并不是可以rollback的,需要编写错误处理代码,在orchestration里面分成两块ExceptionHandle和Compensation,具体的区别上面的引用有描述
在biztalk安装目录下有事务处理和补偿的例子程序,可以看看sdk/examples/orchestration/CompensationOrchestration