【问题标题】:WCF - quick response with status then continue doing longer processWCF - 快速响应状态然后继续做更​​长的过程
【发布时间】:2014-03-21 09:37:09
【问题描述】:

我花了几天时间搜索这个案例。我检查了所有 wcf 异步实现。 我无法找到我要找的东西。

下面是场景。

  1. WCF 正在运行以接受 xml
  2. WCF 需要响应用户成功接收 xml 并发布 立即提出要求
  3. WCF 然后需要进行处理以将 xml 保存到数据库并将 xml 解析为 转换其他东西。

我不想使用单独的服务来处理上面的问题。我想使用一项服务来处理上述所有 3 种情况。

我检查了 WCF 中的异步编码方式,但这并没有立即释放请求。对此的最佳做法是什么?有什么可以使用的示例代码吗?

提前谢谢你。

【问题讨论】:

  • WCF 如何在返回响应之前知道您希望完成哪些部分?我认为您需要自己将其拆分并将处理的后半部分排队以进行异步处理,例如通过线程、线程池或其他内部异步调用。
  • 你的建议是我看过的。我只是想看看是否有其他更好的解决方案来做到这一点。谢谢你的建议。

标签: wcf


【解决方案1】:

我认为您会更适合使用不同的技术。也许看看 Windows Workflow Foundation。

您可以像托管标准 WCF 服务一样托管 WCF 工作流服务,主要区别在于您可以创建在确认收到原始消息后可以继续的特定工作流。

您可以通过持久化消息并返回给用户来做到这一点。 WF 允许您创建在将响应发送回调用方后继续执行的操作。

Visual Studio 为您提供了一个设计界面,允许您拖放组件以创建自定义工作流。此外,如果需要,您还可以调用其他服务。

在 .net 4.5 中,您现在可以使用 C#,而在以前的 WF 版本中,您必须使用 VB.net。

您可以在此处的 MSDN 站点上阅读它: http://msdn.microsoft.com/en-us/vstudio/jj684582.aspx

希望对你有帮助

【讨论】:

  • 谢谢您的回答。我最初检查了 wf,然后由于调试问题决定不去。可能我需要再深入研究一下。
猜你喜欢
  • 1970-01-01
  • 2020-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-18
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
相关资源
最近更新 更多