与Windows Workflow Foundation(WF4)集成的异步Web客户端

时间:2010-10-18 17:22:14

标签: wcf web-applications workflow-foundation-4

我正在设计一个使用WF4的工作流程,该工作流程应该由Web客户端使用。工作流聚合WCF服务,并由接收活动触发,该活动又从网页生成。在正在执行工作流程时,用户的Web会话处于活动状态,某些工作流程活动可能需要通知用户,即网页需要有关某些工作流程阶段的反馈。

我想坚持基于WCF的活动(发送,接收等),但不太确定如何实现对网页的反馈。让我们说这是场景:

  1. 用户点击网页上的“开始”按钮以启动工作流程。
  2. 工作流服务创建工作流实例并使用实例ID进行响应。
  3. 接下来,在服务器上执行“DoSomething”活动
  4. 当DoSomething完成后,应向用户显示一个新的网页。 5-NNN。执行其他活动,其中一些活动也需要反馈。
  5. 可以使用Receive和SendReply组成的ReceiveAndSendReply复合活动来实现步骤1-2。 第3步是一些即将完成的自定义代码活动 我对第4步的第一个想法是它可以使用Send活动实现,但是Web应用程序应该充当WCF服务并提供不适合Web客户端的端点。这个反馈怎么可以实现呢?

    提前致谢

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是不时对您的网页进行调查。使用AJAX调用来检查是否有新内容要显示,如果有,请更新页面。

或者在网页请求工作流程并更新了其页面后,让它进行另一个简单阻止的调用,直到有新的内容显示。但是,工作流程不会花费太长时间,因为大约60秒后呼叫将暂停。

另一种解决方案可能是尝试使用Comet,但我对此没有任何经验。