【问题标题】:Store transactionscope in session在会话中存储事务范围
【发布时间】:2013-06-26 09:59:35
【问题描述】:

我想知道将 TransactionScope 存储在 ASP.NET 应用程序的会话中以通过几个 RESTful 请求实现原子事务是否是一种正确的方法。我查看了一些有关批次的相关文章,例如这篇文章:

REST and Batch

但是,这种方法将批处理中的操作限制为不相关。我想要实现的是:

POST /account 创建账户并返回账户ID PUT /user/1 使用返回的帐户 id 更新用户

这可以通过两个 RESTful 请求轻松实现。但是,我想确保数据的完整性。因此,操作需要是原子的。

我能想到的是使用 session 来存储 TransactionScope 对象。像往常一样发出两个 RESTful 请求,并在第三个请求中提交事务并释放 TransactionScope 对象和会话。

这可能是一个正确的方法吗?我错过了什么(也许是锁?)

谢谢!

詹姆斯

【问题讨论】:

    标签: rest transactions atomic transactionscope


    【解决方案1】:

    这听起来是个特别糟糕的主意。 Restful 服务应该是无状态的。

    如果您需要事务,您应该查看 WCF...

    【讨论】:

    • 是的。我在某种程度上同意你的看法。但从互操作性的角度来看,WCF 似乎也不是一个好主意。如果我将 TransactionScope 放在会话(或缓存)中并为此设置过期时间会有多糟糕?
    猜你喜欢
    • 2012-08-28
    • 2018-06-03
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    相关资源
    最近更新 更多