【问题标题】:How to implement two-phase commit in a .Net REST WCF service?如何在 .Net REST WCF 服务中实现两阶段提交?
【发布时间】:2011-04-19 17:33:49
【问题描述】:

我正在构建 RESTful Web 服务,并且我想让它参与分布式事务。

一个示例场景是,我的 REST 服务可能将文件保存在服务器上的某个位置,同时调用者将此文件标记为已保存在其数据库中。但是,如果文件服务器已满,或者如果他的数据库调用失败,则不应提交其他操作。

我能做些什么来保持我的讨价还价?我想找到一个适用于 .Net 和 Java 客户端的解决方案。我知道这是一个棘手的问题,我想知道是否有人有任何提示或见解?谢谢

【问题讨论】:

    标签: .net transactions


    【解决方案1】:

    如果我理解正确,您说的是让对不同 REST 端点的多个请求参与分布式事务。

    在这种情况下,您应该看看this related question,其中the answer 基本上说分布式事务是一种在概念上违反 REST 原则的场景

    但是,您可以使用 workaround explained in this answer 来实现解决方案。
    您还可以查看 RETRO,这是一种实现 RESTful 事务的暂定方法,其中心围绕着处理 ACID 事务的每个元素的想法作为资源。

    相关资源:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-14
      • 2011-11-15
      • 2014-06-06
      • 2020-02-29
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多