如何在网络场景中实现交易?

时间:2013-08-27 03:25:29

标签: web-services transactions dynamics-crm-2011 distributed-transactions bpn

我们的业务流程由多个Web服务调用组成,包括Read和Write。他们每个人都可能因某种原因失败。但是,我们的流程至关重要 交易 ?即如果在进程中间发生任何故障,我们希望它回滚所有先前的步骤。如何在网络场景中实现它?感谢。

1 个答案:

答案 0 :(得分:3)

创建一个名为new_RemoteCommand的“远程命令”实体。创建在Pre的Pre步骤中注册的插件。将您的所有代码放入此插件中。插件中的所有Web服务调用都在主数据库事务中运行,因此如果一个失败,它们将全部回滚,整个Create将失败。

现在调用代码只需要创建一个new_RemoteCommand,所有代码都应该在事务中执行。您甚至可以通过添加自定义字段将“参数”传递给插件。

希望有所帮助!