【问题标题】:Can anyone recommend a .Net open source alternative to Windows Workflow? [closed]任何人都可以推荐一个 .Net 开源替代 Windows Workflow 吗? [关闭]
【发布时间】:2009-05-31 21:42:01
【问题描述】:

.Net 堆栈中的 Windows 工作流有哪些替代方案?如果您使用过这些解决方案,是什么让您选择了它们而不是 Windows Workflow,这是一个不错的选择。


更新:

我继续选择了由 Nicholas Blumhardt 创建的 stateless。这是对域中的状态进行建模的一种非常简单的方法。以下是google提供的示例代码:

var phoneCall = new StateMachine<State, Trigger>(State.OffHook);

phoneCall.Configure(State.OffHook)
    .Allow(Trigger.CallDialed, State.Ringing);

phoneCall.Configure(State.Ringing)
    .Allow(Trigger.HungUp, State.OffHook)
    .Allow(Trigger.CallConnected, State.Connected);

phoneCall.Configure(State.Connected)
    .OnEntry(t => StartCallTimer())
    .OnExit(t => StopCallTimer())
    .Allow(Trigger.LeftMessage, State.OffHook)
    .Allow(Trigger.HungUp, State.OffHook)
    .Allow(Trigger.PlacedOnHold, State.OnHold);

phoneCall.Configure(State.OnHold)
    .SubstateOf(State.Connected)
    .Allow(Trigger.TakenOffHold, State.Connected)
    .Allow(Trigger.HungUp, State.OffHook)
    .Allow(Trigger.PhoneHurledAgainstWall, State.PhoneDestroyed);

如您所见,状态机使用泛型对状态及其各自的触发器进行建模。换句话说,您可以使用枚举、整数、字符串等来满足您的需求。状态机的每个状态都可以配置有条件触发器,这些触发器将根据特定条件触发。

【问题讨论】:

  • 为什么? Windows Workflow Foundation 出了什么问题?
  • -1 表示没有给出超出 !WF 的任何标准。
  • 实际上,我倾向于同意 WF 有一些缺点,尤其是在状态机方面。我很想看看你自己的“!WF”的原因,以及任何回复......目前我正在为此使用昂贵的产品......并考虑推出我自己的工作流引擎,以更好地满足我的需求(对于长时间运行的有状态业务流程,其中流程本身会在个别案例的生命周期内发生变化)。
  • 我留下了这个开放式结尾,希望答案能够推动讨论,而不是我将主题缩小到 WF 的一个方面。

标签: .net open-source workflow-foundation


【解决方案1】:

Windows Workflow Foundation 对我来说在某些情况下感觉矫枉过正。然后,实现自己的工作流引擎就更容易和更简单了。

示例参考:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 2023-03-06
    • 2011-05-26
    • 2012-01-06
    • 2011-02-11
    • 2010-10-28
    相关资源
    最近更新 更多