加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

任何人都可以推荐一个.Net开源替代Windows Workflow?

发布时间:2020-12-14 01:41:17 所属栏目:Windows 来源:网络整理
导读:.Net堆栈中的 Windows Workflow有哪些替代方案?如果您已经使用了这些解决方案,那么您可以通过Windows Workflow选择它们,这是一个不错的选择. 更新: 我选择了Nicholas Blumhardt创造的stateless.这是一种非常简单的方法来对域中的状态进行建模.以下是google
.Net堆栈中的 Windows Workflow有哪些替代方案?如果您已经使用了这些解决方案,那么您可以通过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在某些情况下,对我来说感觉像是一个过分的杀手.然后,实现自己的工作流引擎变得更加容易和简单.

样品参考:

> Simple State Machine project on CodePlex
> Stateless on Google Code

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读