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

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

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

  • 用户单击网页上的“开始”按钮以启动工作流程。
  • 工作流服务创建工作流实例并用实例ID进行响应。
  • 接下来,在服务器上执行“DoSomething”活动
  • 当DoSomething完成时,用户应该被呈现一个新的网页。 5-NNN。 其他活动也会执行,其中一些还需要反馈。
  • 步骤1-2可以使用由Receive和SendReply组成的ReceiveAndSendReply复合活动来实现。 第3步是一些自定义的Code活动,我很快就完成了。我首先想到的第4步是它可以使用Send活动来实现,但是Web应用程序应该充当WCF服务并提供不适合Web客户端的端点。 这个反馈如何实现?

    提前致谢


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

    或者在网页请求工作流并更新其页面之后,让它进行另一个阻止,直到有新的内容显示为止。 但工作流程不能太长,因为在大约60秒后,通话只会暂停。

    另一个解决方案可能是试图使用Comet,但我没有任何经验。

    链接地址: http://www.djcxy.com/p/95859.html

    上一篇: Async Web client integrating with Windows Workflow Foundation (WF4)

    下一篇: How to Suspend a Workflow (Declarative Service Library) Service?