WCF服务与工作线程

时间:2014-06-30 22:51:25

标签: c# multithreading wcf iis microsoft-web-deploy

我开发了一个WCF服务,根据请求,它将创建一个工作线程,并开始处理大量数据的有时广泛的过程。

我需要能够使用此处理能力和WCF服务的RESTful功能。

示例:在全局存储线程,并能够在RESTful调用中访问它。

但是,根据我的理解,不建议在IIS中执行此操作,IIS将终止长时间运行的应用程序,建议将其作为Windows服务托管的WCF服务运行。

然而,我们依赖于通过Visual Studio使用Web Deploy / Publishing的能力,并且是我们开发过程中不可或缺的一部分。

我怎样才能拥有两全其美?

1 个答案:

答案 0 :(得分:0)

Windows服务仍然存在相同的基本问题,因为您最终必须部署新代码或重新启动服务器(或者,上帝禁止,发生崩溃!)。 服务需要关闭。

当Windows服务发生这种情况时,您可以主要控制,这是一件好事。但从根本上说,你必须有一个概念,这种情况应该发生在这种情况下你长期的工作中。

我认为与Windows服务相比,经过良好调优的IIS应用程序几乎没有任何缺点。没有中断就没有办法长时间运行。

处理这个事实。例如,通过重新启动工作并将其包装在事务中,以便任意中断不会导致数据损坏。