0

我在事务范围界定方面没有做太多工作,我想确保在我跳得太深之前正确地接近这个想法。

设置/目标

  • 我有一个项目列表,这些项目是要复制到远程系统的文件。
  • 对于该列表中的每个文件,我需要创建一个事务以:
    • 将文件复制到远程系统
    • 调用 Web 服务以将对该新文件的引用添加到数据库中。
  • 如果 Web 服务调用或文件复制失败,我需要回滚这两个操作。
    • 回滚文件副本将意味着删除远程系统上的文件。
    • 回滚 Web 服务操作将意味着调用不同的 Web 服务方法来删除我刚刚创建的条目。
  • 如果项目列表中的任何项目失败,我想返回某种消息,但不阻止其他项目被提交。

我正在考虑做什么

在我对该主题的(相当有限的)阅读中,我认为这可能是正确的方法:

  • 为文件副本创建资源管理器,使其能够参与持久事务
  • 按照相同的思路为 Web 服务调用创建资源管理器
  • 为列表中的每个项目创建一个 foreach 循环
  • 对于每个项目,创建一个使用两个资源管理器的事务范围,并在出现问题时回滚/报告。

问题

  • 有什么我在这里没有看到的或者我应该实施的新方法,或者这实际上是要走的路吗?

到目前为止的资源

当我检查问题并尝试解决问题时,这些是我正在阅读的一些页面:

提前感谢您提供的任何帮助!

4

0 回答 0