任何人都可以推荐一个.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

相关文章

(1)when you ping a computer from itsafe,the ping command should return the local IP address. (...
1、点击win菜单,点击设置图标 2、选择系统选项 3、选择应用与程序选项 4、拉到最下方,选择程序与功能...
目前一直直接往Windows 2008 R2 Server中复制文件(暂时还没有搭建ftp服务),突然不能复制了,于是百度...
windows下使用vscode配合xebug调试php脚本 要下载有php_xebug.dll扩展的版本,最新版可能没有这个扩展,p...
在控制面板的程序与功能里启用和关闭windows功能打开,适用于linux的windows子系统
效果演示 推荐一个非常牛的文档网站生成器:docsify 我通过这个工具,成功将码云上的个人学习笔记发布到...