2

我想弄清楚 ms Workflow WF 4 在以下情况下是否可用?尝试在 asp.net mvc 3 中创建 Web 应用程序。

办公室里有一种情况,有不同的角色。表单必须通过不同角色(项目经理、团队负责人、总监)的批准。因此,项目经理创建了一个表单,将其提交给团队负责人以供批准。团队负责人批准通知并批准此表格。然后他批准并提交后,将由主任批准。如果他不批准,他会将表格发回给项目经理。

将其与 asp.net mvc 3 一起实现到 WF 4 中是否有用,或者这不是可取的?

4

2 回答 2

3

新技术的选择取决于许多标准。因此,如果您想决定是否使用工作流来解决您的业务问题,请根据您当前的需求创建一个小型 POC。验证一下,这是最合适的方式吗?您的团队是否熟悉这项技术?需要什么学习曲线?

从我的角度来看,您当前的要求适合使用工作流 4.0。这是一个长期运行的过程,需要频繁的人工干预。

您也可以参考这些链接..

http://msdn.microsoft.com/en-us/library/dd851337

http://msdn.microsoft.com/en-us/library/ee342461.aspx

http://msdn.microsoft.com/en-us/library/cc709416

于 2012-06-29T07:15:06.410 回答
1

我想表达对WF4的一些担忧。在我看来,您是在从鸟类的角度描述工作流程。工作流程是一条信息(表格)必须由多方批准,每一方都有不同的职责。

当您从 MVC 的角度看待问题时,您会发现以下内容:

  1. 您具有基于角色的身份验证的 ASP.NET 表单身份验证。
  2. 您有多个模型 - 一条信息(您所称的形式)以及多个其他模型 - 例如project managerteam leaderdirector. 此外,您的域模型(实体框架 4/LINQ2SQL/NHibernate)中还有大量其他连接器表/实体......
  3. 每个人都应该有一组不同的视图,他们可以根据他们的权限访问,以便与该数据进行交互。
  4. 在每个视图后面,您还有控制器负责读取/写入数据源以及其他逻辑的繁重工作。

虽然您当然可以创建工作流以在您的应用程序中实现某些逻辑 - 最终这些工作流将从您的控制器中调用。此外,如果各方的批准过程是单击“批准”按钮或其他一些 UI 交互 - 我认为使用 WF4 来实现这一点没有意义。

在我看来,WF4 不太适合 UI 交互。当您想要创建操作大量数据和/或编排复杂逻辑以完成某些任务的后端代码时,这真的很好。但是,在您描述的场景中,您实际上并没有这种用途。

您的审批流程最多应在包含 FormID、ApproverID、DateApproved、ApproverType 和其他一些信息的数据库中设置“已批准”记录。(审批者 ID 是进行审批的用户的 Guid/唯一标识符)。

为团队领导和主管显示“待批准”表单的视图应该只查询表单表,其中批准表上的连接产生空记录(又名......批准记录不存在)在任何情况下 - 取决于你的领域模型和数据的结构你真的不需要比你的控制器更多的东西来实现你正在寻找的东西。

于 2012-07-02T04:47:23.573 回答