如何在C#中创建一个长时间运行的进程?

时间:2013-09-19 00:18:49

标签: c# service process scheduled-tasks

这可能看起来非常基本,但我在这个领域没有任何经验 - 我所有的经验都是在网络方面。

我需要创建一个重复查询API的流程(大约每秒5次),从API(以JSON格式)获取结果,然后我的流程将执行它需要做的事情结果(在我的例子中,将它们插入到SQL数据库中)。这些细节对我所拥有的问题的范围并不重要,我只是想让你了解我想要实现的目标,以防有人想要推荐更好的方法。< / p>

我的第一个想法是创建一个基本上永不退出的控制台应用程序(除非我明确告诉它)。控制台应用程序是这样的吗?我的想法是,我将设置一个VM来托管我的解决方案,包括这个&#34;流程&#34;我创造。我不太熟悉Windows服务或Windows任务,但我可能需要编写一些自定义代码,因此我想我无法使用Windows任务计划程序,我是对的吗?

1 个答案:

答案 0 :(得分:2)

一旦选项是创建一个Windows服务,它是长时间运行的进程的操作系统级实现。要在C#中这样做,您可能希望在线阅读一些教程,可能从the MSDN Walkthrough开始。您还应该阅读有关Windows服务的一般信息以及服务和常规用户进程之间的差异(主要是服务没有UI,无法直接与用户交互,以及其他一些安全注意事项)。

其他选项可能是利用WCF或类似的框架。