我有一个运行时间很长的工作流,它在视频处理设备之间移动视频文件,然后将文件状态报告给用于驱动 UI 的数据库
有时,用户会按下 UI 上的按钮以“接受”一个文件到视频存储服务器中。这涉及将文件从一台服务器复制到另一台服务器。]
他们询问是否可以取消此事件。
我查看了 wf4 文档,但看不到回滚部分工作流程的方法。
这可能吗,我应该使用什么技术。
最佳答案
这是两个用于恢复工作的基本内置事件。
- ACID 事务的 TransactionScope
- 长期运行工作的补偿事件。
通过 Compensable 事件,您可以将事件添加到补偿处理程序以撤消之前完成的工作。补偿事件可用于触发补偿。如果没有补偿,您将在工作流结束时自动或在您使用 Conform 事件时获得确认处理程序。
参见 A Developer's Introduction to Windows Workflow Foundation (WF) in .NET 4由 Matt Milner 提供更多详细信息。
关于c# - 如何取消和回滚部分工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12619717/