xaml - WF4 中 SendResponse 的行为

标签 xaml workflow workflow-foundation-4 xamlx

在模板工作流程的顶部,我放置了一个 ReceiveRequest/SendReply block ,我希望在其中执行同步操作,从而使用户客户端能够收到正在启动的工作流程的及时响应。 客户端通过WCF调用WF。

客户端通过我的应用程序数据库上的条目状态了解当前请求的状态。

例如,我创建一个订单,调用 PlaceOrderWF,将数据库上的订单状态设置为“已接受”。然后,客户可以在 WF 进行检查、控制等时执行他想要的任何操作,...,将订单的最终值设置为“已完成”或“错误”。

我希望客户端在 SendResponse block 之后立即收到响应。实际上它似乎不是这样工作的,而是等待某种“事件”来释放客户端。不幸的是,我没有证据表明事件触发了这种行为。

要测试它,只需在 SendResponde 事件之后放置一个 Delay 事件,您应该能够重现我正在讨论的行为。

关于如何避免这种不需​​要的错误的任何提示?

WF template -- Operation name left intentionally blank

最佳答案

工作流将继续并在当前线程上尽可能多地执行,因此不会立即返回调用者。如果您向工作流添加一个具有较小超时(例如 1 秒)的延迟,将导致工作流空闲并将 WCF 响应发送到客户端,之后工作流将继续。

关于xaml - WF4 中 SendResponse 的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193870/

相关文章:

xaml - 如何将位图图像更改为矢量路径

wpf - 自定义窗口 Chrome 设计时支持

c# - 如何使我的 NFC 应用程序在 Windows Phone 中成为 "trusted app"?

environment-variables - MSBuild 无法查看从生成工作流设置的环境变量

workflow - 请确认 : Is Windows Workflow Foundation a good horse to be backing right now?

c# - 在 WPF 中使用附加属性

php - 如何创建拖放表单生成器?

workflow - 通过电子邮件有效地向部门分发数据透视图

java - 使用 JPA 时的标准工作流程

error-handling - Windows Workflow Foundation 4 (WF4) 错误处理