.NET服务器调度服务 - 我该怎么做?

时间:2013-06-07 00:59:00

标签: c# .net windows-services scheduled-tasks

我需要创建一个将在服务器上运行的应用程序,并且能够配置为在特定时间运行命令。例如,将存在允许用户设置参与时间和脱离时间的网络界面。一旦用户保存了这些值,我就需要服务器能够在每天指定的时间准确地触发这些命令。

我还需要能够设置单次使用非重复发生的事件......可能是从触发事件开始的10分钟,并在10分钟计时器关闭时触发命令。

我已经编写了一个类库,它具有暴露的参与和脱离命令。我希望能够将其整合到我最终的任何解决方案中,并且能够直接调用该类。或者,我也可以将类库编译成可执行文件,并通过命令行向它发出命令。我希望不必做后者。

我以前从未写过这样的东西。我在Windows服务上看了一下,但有很多喋喋不休的说法,它不一定是最好的选择。有人可以指导我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

Windows服务并不是一个坏主意,它非常适合这种应用程序。除非您最终使用标准Windows计划任务作为命令的触发器,否则您需要某种始终运行以包含调度程序的进程。 Windows服务是这方面的绝佳选择。

将Windows服务与Quartz.NET和某种持久层结合使用,以便存储日程安排(如果您需要重新启动服务或崩溃等),这将是一个很好的方法。

或者,你可以编写一个只添加和删除Windows计划任务的应用程序,但考虑到你有现有的类库,使用Quartz.NET将很好地适应你现有的库。

答案 1 :(得分:1)

最简单的解决方案:

创建一个控制台exe并在Windows中的计划任务下运行。

让网页接受用户输入并修改配置文件。