如何处理工作流中的用户输入

时间:2010-09-21 14:06:37

标签: workflow-foundation workflow-foundation-4

我正在构建一个小型工作流应用程序来测试WF的能力 到目前为止我得到了什么:
Workflow example

我可以运行工作流并添加StartProcess操作中使用的参数。因此,流程将通过第一个决定,并进入发票付款或信用卡付款。

下一部分是我的问题:
当流程到达Invoce付款序列时,将调用下一个活动:
Sub sequence

在此序列中,我调用自定义活动InitiateInvoicePayment,该活动创建一个用于存储发票数据的新对象。此时,我希望用户填写剩余的所需数据,如接收活动所示,但这里是我被卡住的地方。

如何停止流程并等待用户输入,理想情况下会触发客户端应用程序根据流程图中的变量显示表单?

1 个答案:

答案 0 :(得分:3)

接收活动是为你暂停工作流程,没有大问题。

UI方面略有不同。有几种方法可以解决这个问题。我经常做的事情是将这些UI请求写入数据库,并让UI轮询表中的数据。这样,竞争发票数据的请求将很快显示出来。而且一个很大的优势是您独立于当时实际处于活动状态的客户端UI。您还可以使用更直接的内容,例如WCF发送活动,并让UI应用程序在工作流生成时监听请求。