我正在尝试弄清楚ms Workflow WF4在以下场景中是否可用?正在尝试在asp.net MVC3中创建web应用程序。
在办公室里有一种情况,其中有不同的角色。表单必须通过不同角色(项目经理、团队领导、总监)的批准。因此,项目经理创建一个表单,将其提交给teamleader审批。teamleader批准通知并批准此表单。然后在他批准并提交之后,它将被提交给主任批准。如果他不批准,他将把表格发回给项目经理。
将其与asp.net MVC3一起实现到WF4中是有用的还是不可取的?
发布于 2012-06-29 15:15:06
选择一项新技术取决于许多标准。因此,如果您想要决定是否使用工作流来解决您的业务问题,请根据您当前的需求创建一个小型POC。验证一下,这是不是最合适的方式?您的团队熟悉这项技术吗?所需的学习曲线是什么?
在我看来,您目前的需求适合使用workflow 4.0。这是一个长时间运行的过程,需要频繁的人工干预。
你也可以参考这些链接..
http://msdn.microsoft.com/en-us/library/dd851337
发布于 2012-07-02 12:47:24
我想表达一些对WF4的担忧。在我看来,您是从鸟类的角度来描述工作流程的。工作流程是,一条信息(表单)必须由多个各方批准,每个各方都有不同的职责。
当你从MVC的角度看问题时,你会发现以下几点:
具有基于角色的authentication.
project manager、team leader和director。此外,域模型中有过多的其他连接表/实体(实体框架4/LINQ2SQL/NHibernate)...虽然你当然可以创建工作流来实现你的应用程序中的一些逻辑-最终这些工作流将从你的控制器调用。此外,如果每一方的审批过程都是单击“批准”按钮或一些其他UI交互,我认为使用WF4来实现这一点是没有意义的。
在我看来,WF4不太适合UI交互。当你想创建操作大量数据和/或编排复杂逻辑以完成某些任务的后端代码时,它真的很好用。然而,在您描述的场景中,您实际上并没有这样的用法。
您的审批流程最多只能在数据库中设置一个“已批准”的记录,其中包含FormID、ApproverID、DateApproved、ApproverType以及其他一些信息。(批准者ID是进行审批的用户的Guid/唯一标识符)。
显示Team Leader和Director的"pending approval“表单的视图应该只查询forms表,其中approval表上的联接为空记录(也称为...审批记录不存在)在任何情况下-根据您的域模型和数据的结构,您不需要比您的控制器更多的东西来实现您正在寻找的东西。
https://stackoverflow.com/questions/11255972
复制相似问题