如何创建在Window Server上运行的后台应用程序

时间:2013-02-27 02:52:26

标签: c# windows-services scheduled-tasks background-process concept

我需要编写一个在后台运行的应用程序(即用户不可见)。无论用户登录还是关闭,它都应始终在服务器开启时运行。或者至少它应按计划运行(例如,每小时)。它还应该在服务器关闭并再次打开后运行。

该应用程序用于将一些数据从一台服务器(linux)备份到运行应用程序的本地服务器(Windows服务器)。

根据我的研究,许多人建议使用Window Service。但我是C#的新手,也是像Window Service这样的领域。

任何人都可以指导我应该从哪里开始吗? Window Service是一个合适的解决方案吗?或者,如果有更好的解决方案?请解释一下。

提前谢谢。

[CLOSED] 感谢所有回复的人。

4 个答案:

答案 0 :(得分:1)

是的,最佳做法是Windows服务。

但是,如果您的操作足够简单,可以在DOS批处理文件中编写。您可以在Windows任务计划程序中安排任务。它将节省大量时间并且易于设置。

更新(仅供参考)

我有一个batch_update.sql文件,需要每天凌晨1点执行。我在C:\ bat中创建了batch_update.sql文件和批处理文件batch_update.bat。

batch_update.sql包含所有SQL操作。 batch_update.bat调用batch_update.sql文件来执行它,如下所示。

sqlcmd -U adminuser -P password -S(local)-i C:\ bat \ batch_update.bat -o C:\ bat \ batch_update.txt

然后我在Windows任务调度程序中创建了一个任务,在凌晨1点运行,效果非常好。

答案 1 :(得分:0)

Windows服务肯定听起来像是长期解决方案。但是为了简单起见,您可以在C#中创建一个命令行项目,然后使用Windows调度程序以您喜欢的任何时间间隔运行它。

答案 2 :(得分:0)

我也建议使用Windows服务,您可以正确地使用here

答案 3 :(得分:0)

是的,Windows服务是您正在寻找的解决方案。这是一个很好的starting point on MSDN