处理WCF中运行时间较长的进程

时间:2009-07-17 11:26:33

标签: wcf

在我正在开发的应用程序中,我们使用了很多WCF服务和许多方法。到目前为止,所有方法都非常短,通常只是获取一些数据。我刚刚添加了一个需要更长时间才能运行的方法。

我不想在配置中引发超时,因为1分钟对于服务上的所有其他方法来说足够长。

处理1种长时间运行方法的最佳方法是什么?我如何提供仍在运行的反馈?

2 个答案:

答案 0 :(得分:5)

长时间运行的任务应该真正作为异步调用进行养殖,然后可以轮询状态(或通过双工连接的事件)。对于一个非常长时间运行的任务,您甚至可能希望将其推送到Windows Workflow。

答案 1 :(得分:4)

将WCF与WF(Workflow Foundation)结合起来似乎是最好的选择。 Workflow Foundation为您提供了许多好东西,包括长期运行过程中的长期持久性。

在.NET 3.5中,它可以这样做,但是很笨拙和很多工作。

以下是此主题的一些链接:

使用.NET 4.0,这些“WorkflowServices”将成为新WF / WCF 4.0软件包的重要组成部分。您基本上应该能够将任何工作流的接口公开为WCF服务。听起来很有希望,没有机会亲自尝试。

新内容的一些链接:

马克