0

我创建了一个在 IIS 7.0 中运行的 WCF 服务应用程序。在它的初始化中,我开始了一个无限循环( while(true) ),但是在一段时间后,我没有从他的 svc 文件中调用方法,wcf 进入空闲模式,并且它没有反应循环必须执行的过程。就像它停止工作一样。然后,如果我对他的 svc 文件调用一个方法,然后再次开始工作。是否有避免空闲模式的解决方案,以便它可以继续保持循环中的过程处于活动状态?

4

2 回答 2

1

WCF 服务旨在在发出请求时“唤醒”。

如果您想要的是连续轮询之类的东西,您可能需要考虑创建一个Windows 服务

如果您正在寻找维护状态的 WCF 服务,您必须自己实现它。一种方法是部署具有持久性的工作流服务(使用WF 4),例如 SqlWorkflowInstanceStore。它使用 WCF 公开其接口。该服务将在调用之间处于空闲状态,但实例会记住状态。

于 2010-12-09T18:14:38.123 回答
0

WCF 旨在被使用并触发事件,而不是托管长时间运行的进程。您确实希望 WF(工作流基础)或 BizTalk 托管一些长期运行的事件。WCF 事件通常是短暂的。您可以创建一个结合了这两个概念的 XAMLX。

于 2011-11-19T06:51:51.480 回答