2010-10-18 43 views
0

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

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

  1. 用户单击网页上的“开始”按钮以启动工作流程。
  2. 工作流服务创建工作流实例并用实例ID进行响应。
  3. 接下来,在服务器上执行“DoSomething”活动
  4. 当DoSomething完成时,应向用户呈现新的Web页面。 5-NNN。其他活动也会执行,其中一些还需要反馈。

步骤1-2可以使用由Receive和SendReply组成的ReceiveAndSendReply复合活动来实现。 第3步是一些自定义的代码活动,很快就完成了 我对第4步的第一个想法是它可以使用发送活动来实现,但是然后Web应用程序应该充当WCF服务并提供一个不适合Web客户端的端点。这个反馈如何实现?

在此先感谢

回答

1

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

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

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

+0

谢谢,我也得出了同样的结论。 – 2011-01-24 15:18:47