微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

.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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐