在MVVM应用程序中托管工作流程

时间:2013-09-09 18:20:32

标签: mvvm workflow-foundation-4 workflow-foundation

我正在设计一个不使用WPF或Silverlight的MVVM应用程序。它将简单地呈现HTML5中的网页,使用CSS3进行样式设计。

域名是使用WF的完美案例,因为它涉及长期运行过程中的许多活动。具体来说,我正在跟踪与客户在30天内进行交互的进度,包括在整个过程中填写各种表格,在某些时候获得主管的批准,并确保遵循指定的活动顺序并正确执行。

每个活动通常由视图上的表单表示,该视图旨在捕获该步骤中的所需信息。换句话说,用户看到的视图将取决于她当时在工作流中的位置。

到目前为止,我的研究已经发现了一些示例,其中工作流用于根据定义它的流程图执行业务逻辑。

在我的情况下,我需要一个用户登录,然后从工作流程中的中断处取走(例如,发生了一些新的外部事件,她需要填写表格或在工作流程中前进到那一步。)

我需要支持主管登录的情况,并且基本上可以提供当时需要批准的活动。

所以...在我看来,WF解决方案可能是合适的,但也许我想要使用它的方式是倒置的 - 就像购物车拉马一样可以说。

我很感激任何人都可以提供任何见解。

谢谢 - 史蒂夫

1 个答案:

答案 0 :(得分:0)

我设计了一个类似于你的应用程序,实际上基于WPF,但应用程序显示的屏幕实际上是由工作流程驱动的。 我使用基于任务的方法。我有一些自定义活动在DB上创建用户任务。有不同类型的任务,一个用于应用程序支持的每种不同的表单类型。当工作流到达其中一个特殊活动时,任务将保存到DB并且WF进入空闲状态(书签)。 一旦用户提交表单,wf就会恢复到达到另一个用户任务的程度,依此类推。 任务可以在整个过程中分配给不同的用户(最终用户,主管,......),并且他们有一个待处理的任务列表,可以恢复以前的wf实例等。

然后,要生成用户视图(在您的情况下为HTML5表单),您必须阅读待处理任务并将其转换为相应的表单。

希望你觉得它很有用

相关问题