我想在这种情况下使用 TransactionScope,虽然我认为这是正确的方法,但我从未这样做过并且遇到了困难。
在伪代码中,我想做的是以下内容:
- 开始交易
- 将文件复制到目标(Windows 桌面客户端到 netapp 共享)
- 调用 Web 服务,该服务将依次在数据库中添加对该文件的引用
- 如果发生文件复制错误或 Web 服务未成功响应,则回滚
- 如果文件仍然存在,则从远程位置删除文件
- 调用 Web 服务来删除对文件的引用,如果它存在,它将删除它
- 完成交易
我是否需要为文件复制和 Web 服务操作定义自己的资源管理器,以便它们可以正确实现回滚?
我一直在尝试四处搜索,但如果有人能指出我正确的方向,我将不胜感激。谢谢!