【问题标题】:Do Azure storage-related APIs participate in System.Transactions?Azure 存储相关的 API 是否参与 System.Transactions?
【发布时间】:2013-08-05 09:55:45
【问题描述】:

我在任何地方都找不到这方面的任何信息,但问题很简单。

我能否将与存储相关的操作包装在 TransactionScope 中,例如如果有回滚,上传的文件也回滚?

如果原生 API 还没有这样做,是否有任何地方的公共实现?

【问题讨论】:

    标签: c# azure transactions azure-storage transactionscope


    【解决方案1】:

    如果您指的是表或 Blob 更新,则没有显式提交或回滚的概念。当您进行 API 调用时(无论是直接 REST 调用还是通过 PowerShell / CLI / SDK),它只是针对存储的操作,它会成功或失败(尽管某些操作需要一段时间,调用可能会在完成之前返回)。没有包含此操作的事务范围。您需要注意在应用级别撤消 Table / Blob 更新。

    【讨论】:

    • 如果不能事务性使用,真的可以称为数据库吗?
    • 不知道你在做什么。表存储具有 API 事务,甚至允许在单个 API 调用(事务)中写入多个实体。 Blob 存储与 Table 是分开的,并且没有包含事务范围的对象,您可以在其中执行跨两者的操作,也没有办法在事务范围内执行多个 Table 存储事务。但是:这绝不会削弱作为数据库的表存储。看看 MongoDB:文档中的原子操作,文档之间没有事务,然而……它仍然被认为是一个数据库。
    猜你喜欢
    • 2011-12-20
    • 2017-10-15
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多