asp.net-mvc - 在 MVC3 中使用 Workflow Foundation 来处理页面流(如在向导中)

标签 asp.net-mvc asp.net-mvc-3 workflow-foundation workflow-foundation-4

我想解耦 MVC 网页,以及它们的显示顺序。一般来说,我认为这些是我需要解决的场景,但我很容易陷入一种特定的思维方式。我只想找到有助于控制流程的模式或对象。

示例页面排序:

  • 仅前进:用户只能在工作流中前进,直到完成。
    -- 特殊情况:如果用户导航到或手动输入无效的 URL,则系统应做出相应响应(重定向到当前步骤)
  • 前进 - 后退(只读):用户可以通过向导前进,但后退按钮允许只读查看以前的数据。
  • Forward - Back(读写):用户可以返回并更新先前条目中的数据。这可能会导致工作流重置为之前的状态。

  • 对于用户可能进入多个“有效状态”的那些时候,上面的前向概念应该适应(例如在状态机中)

    问题:

    我将如何在 MVC3/WF4 应用程序中实现此页面控制流?

    enter image description here

    最佳答案

    我们自己正在考虑与您的提案类似的架构。
    MVC部分主要是用Llblgen Pro+自定义ASP.Net模板自动生成的代码,
    因此,我们希望从其他地方控制业务逻辑(和页面工作流)。

    我们仍在研究最终决定,WF 4.0 是一个候选者(因为创建可重用事件的库非常容易),但无状态状态机似乎是一种非常简单的方法,也更易于维护。
    我们已经有一个 ORM 生成的持久层,因此,在 future 的任何时间恢复暂停的工作流状态并不是什么大问题。
    看看无状态,让我们知道它是否合适。

    举例说明:http://blogs.msdn.com/b/nblumhardt/archive/2009/04/16/state-machines-in-domain-models.aspx

    已实现的 VS 2010 代码示例:https://github.com/haf/Stateless

    关于asp.net-mvc - 在 MVC3 中使用 Workflow Foundation 来处理页面流(如在向导中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6984978/

    相关文章:

    c# - MVC 默认区域不工作

    log4net - 如何在 WF4 中使用 log4net?

    workflow-foundation - 对 WF4 工作流服务进行单元测试

    asp.net mvc url 路由

    javascript - 在 AspNetCore 中使用 Rotativa 将 Html 转换为 Pdf

    asp.net-mvc-3 - 在 ASP.NET 之外使用 Razor

    .net - 如何对工作流程的一部分进行单元测试?

    c# - 使用 httpRuntime maxRequestLength 进行 mvc 文件上传

    javascript - 如何调用 Controller 方法并更新 View ?

    asp.net-mvc - asp.net mvc 的 Ninject 和 Filter 属性的依赖注入(inject)