【问题标题】:Can a host application communicate with an executing workflow?主机应用程序可以与正在执行的工作流进行通信吗?
【发布时间】:2018-04-30 22:06:19
【问题描述】:
【问题讨论】:
标签:
.net
workflow-foundation-4
【解决方案1】:
如果您使用的是 WorkflowApplication,那么您可以将对象传递到工作流中。
即WorkflowApplication _workflowApplication = new WorkflowApplication(new workflowName, iDictionary)
您可以通过 IDictionary 将 ref 变量传递到工作流应用程序。然后您可以在工作流之外更改其值,但检查工作流循环内的值
或者通过 IDictionary 将委托传递给工作流应用程序,然后在工作流循环内调用委托并根据返回值进行操作。
【解决方案2】:
是的,实现这一点的方法是通过Messaging Activities。
消息活动允许工作流发送和接收 WCF 消息。因此,您可以从正在执行的工作流与您自己的 WCF 服务来回通信。更新状态或请求批准以在 WF 中继续前进。
我之前用过的最好的例子是this