【问题标题】:Application Transaction + C# + more than one operationApplication Transaction + C# + 多个操作
【发布时间】:2010-06-22 09:14:18
【问题描述】:

我想问你,是否有办法将一些操作设置为事务。 我有这样的问题:

1) 从数据库中的数据生成文件 2) 加密 3) 发送到服务器

我想一次性完成。任何失败的步骤 1-3 都应该导致取消交易。

最好的问候,

【问题讨论】:

  • 为什么这需要在事务中?你没有更新任何数据(根据你所说的),所以没有什么可以回滚......
  • 我需要确定,该文件是从数据库中生成的,是在磁盘上创建的,加密成功,然后发送到服务器。
  • 您能否解释一下如果事务失败会发生什么,即您希望回滚的状态是什么。

标签: c# scope transactions


【解决方案1】:

是的。查看 TransactionScopeMSDTC

【讨论】:

    【解决方案2】:

    我认为您不需要为此进行事务处理,因为您只在最后一步更新数据库。到目前为止的任何故障都不会影响您在帖子中描述的任何其他数据。

    更新:你可能想看看Volatile Resource Managers

    【讨论】:

    • 我在第一步之后更新数据库。第二步和第三步,不使用数据库
    【解决方案3】:

    正如好奇极客所说,它可以通过 TransactionScope 来实现。但是处理事务可能会很棘手,尤其是当您希望对每个事务执行不止一种类型的操作时。

    您确定需要交易吗?如果第 2 步或第 3 步失败,您不能再次删除文件吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-06
      • 2012-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多