【问题标题】:Using Workflow 4 as a Controller in MVC在 MVC 中使用 Workflow 4 作为控制器
【发布时间】:2010-08-06 16:08:42
【问题描述】:
我正在构建一个处理客户查询的应用程序,我想在对他们的查询采取一些自动操作之前通过显示适当视图的决策树来路由查询。有点像游戏“20个问题”!根据每个阶段的答案,应用程序的路径将发生变化。
我正在考虑使用 MVC,因为只有少数“类型”的路线和结果 - 所以我可以通过这种方式构建更少的页面,一个来处理每种类型,而不是每个步骤一个。我也在考虑使用 Workflow 4 来管理页面流,因为流程图模型很好地映射到我正在尝试做的事情。
有没有人知道任何使用 Workflow 做这类事情的好参考应用?
谢谢
理查德
【问题讨论】:
标签:
asp.net-mvc-2
workflow-foundation-4
【解决方案1】:
那里有许多使用 WF3 做这种事情的例子,但我没有看到任何 WF4 的例子。我想这是可能的,但这意味着同步运行工作流并在它空闲时立即检查书签以查看当前启用了哪些操作。这应该可以使用自定义的 SynchronizationContext 同步执行,并使用 WorklfowApplication 上的 Idle 回调来检查当前书签。
【解决方案2】:
我实际上最后选择了一个不同的选项 - 我编写了一个“GetNextAction”函数,它根据我的流程图逻辑和对象状态返回一个 ActionResult 对象。控制器处理它收到的任何表单输入,更新对象,然后调用 GetNextAction 并返回该函数的结果。似乎工作正常!