【发布时间】:2013-08-29 16:02:55
【问题描述】:
我们的业务流程由多个 Web 服务调用组成,包括读取和写入。他们每个人都可能由于某种原因而失败。但是对于我们的流程来说,事务性 很重要吗?即,如果在过程中间发生任何故障,我们希望它回滚之前的所有步骤。在网络场景下如何实现?谢谢。
【问题讨论】:
标签: web-services transactions dynamics-crm-2011 distributed-transactions bpn
我们的业务流程由多个 Web 服务调用组成,包括读取和写入。他们每个人都可能由于某种原因而失败。但是对于我们的流程来说,事务性 很重要吗?即,如果在过程中间发生任何故障,我们希望它回滚之前的所有步骤。在网络场景下如何实现?谢谢。
【问题讨论】:
标签: web-services transactions dynamics-crm-2011 distributed-transactions bpn
创建一个名为 new_RemoteCommand 的“远程命令”实体。创建在 Create 的 Pre 步骤中注册的插件。把你所有的代码放在这个插件中。插件中的所有 Web 服务调用都在主数据库事务中运行,因此如果一个失败,它们将全部回滚,整个 Create 将失败。
现在调用代码只需要创建一个 new_RemoteCommand,所有代码都应该在事务中执行。您甚至可以通过添加自定义字段将“参数”传递给您的插件。
希望有帮助!
【讨论】: