我需要编写一个在后台运行的应用程序(即用户不可见)。无论用户登录还是关闭,它都应始终在服务器开启时运行。或者至少它应按计划运行(例如,每小时)。它还应该在服务器关闭并再次打开后运行。
该应用程序用于将一些数据从一台服务器(linux)备份到运行应用程序的本地服务器(Windows服务器)。
根据我的研究,许多人建议使用Window Service。但我是C#的新手,也是像Window Service这样的领域。
任何人都可以指导我应该从哪里开始吗? Window Service是一个合适的解决方案吗?或者,如果有更好的解决方案?请解释一下。
提前谢谢。
[CLOSED] 感谢所有回复的人。
答案 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。