在模板工作流程的顶部,我放置了一个接收器 / sendreply块,我想执行同步操作,使用户客户端可以及时接收到正在启动的工作流程的响应。 客户通过WCF调用WF。

客户端知道当前请求的状态,并在我的应用程序数据库上的条目状态。

例如,我创建订单,调用PlotoderWF,将DB上的订单状态设置为“接受”。然后,客户可以在WF进行检查,控件等工作时执行他想要的一切,将订单的最终值设置为“完成”或“错误”。

我希望客户在SendResponse块之后会收到响应。实际上,它似乎没有用这种方式工作,但是它等待某种“事件”发布客户。不幸的是,我没有触发这种行为的事件的证据。

要测试它,只需在SendResponde活动之后放置延迟活动,您应该能够重现我正在谈论的行为。

有任何暗示如何避免这种不必要的错误?

WF template -- Operation name left intentionally blank

有帮助吗?

解决方案

工作流将继续并在当前线程上尽可能多地执行,因此不会立即返回到呼叫者。如果您添加较小的超时(例如1秒)的延迟,将其添加到工作流程中,这将导致该延迟工作流程要闲置,并将WCF响应发送给客户,然后将继续工作流程。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top