【发布时间】:2017-12-06 16:00:07
【问题描述】:
我创建了一个控制台程序,将数据从数据库传输到服务器。该程序必须每天在特定时间运行。起初我想到了一个定时任务,但问题是它取决于用户是否登录。但是由于它比较棘手并且服务必须每天运行,所以我通过研究来到了Windows服务。
但是,大部分信息来自 2009 年和 2010 年,可能已经过时了?我还找到了解释如何创建计划服务的指南:
这样做仍然是最佳做法吗?你会推荐什么?
【问题讨论】:
-
为什么你认为计划任务只能在用户登录时运行?这仅对与 UI 交互的事物是必需的,但如果您将其作为服务,您将无法与 UI 交互。
-
你的悬空分词正在显示。您是说您的程序需要用户登录还是计划任务需要用户登录?后者不是真的。如果您在谈论前者,我看不出服务如何解决问题。 @ScottChamberlain 秒杀我!
-
它以什么方式依赖于登录?您可以将计划任务配置为在特定用户下运行吗?
-
仅供参考,您链接到的指南让您了解如何在服务中实现此功能,但请注意代码存在不少质量问题。在任何情况下,您都可以执行计划任务或 Windows 服务。我想哪个“更好”是一个见仁见智的问题,这就是为什么我投票决定以基于意见的方式结束它。
-
@ScottChamberlain 我们过去在运行此类任务的服务器上遇到过问题。如果所有用户都注销了任务没有启动。来源:*.com/questions/507674/… 引用“即使用户未登录 PC,Windows 服务也会运行”
标签: c# service scheduled-tasks