在C#中使用什么工作流框架

kel*_*oti 6 .net workflow c#-4.0

我要创建能够通过那里的人都需要进行某种动作或确认的审批流程移动对象(持久化为数据库记录)的C#的工作流.

我们最初看了一下Windows Workflow Foundation,但却回避了它,因为它看起来基础架构很重(而且我们并不喜欢微软的产品).我们查看了ObjectFlow,因为它很轻,但我无法弄清楚如何保持和恢复工作流状态.它几乎看起来太轻巧了.

有没有人有一个特别喜欢的框架来做工作流程?我愿意接受各种想法(即使是世界自然基金会,如果你能解释为什么它是你的最爱).

MD *_*and 11

现在,到 2022 年底,我推荐免费且开源的Elsa Workflows 库。在这种情况下,状态机工作流程可以正常工作。我已经在多个项目中使用它并取得了成功。它很灵活,有一个网络工作流程设计器和可接受的文档


kel*_*oti 3

正如@gsharp 所链接的问题所说,WF 4 并不完全易于使用。然而,ObjectFlow 具有简单流畅的界面,该界面轻巧且采用可靠的设计原则构建。鉴于明显缺乏像样的工作流框架,我决定使用 IStatefulWorkflow 来参与并扩展 ObjectFlow,其中包含.Yield()能够为调用方法生成工作流处理的方法,以便可以保留其状态。

我工作的最终结果将是几周后在Codeplex发布的新版本。在那之前,您可以在github上关注我的进展。