C# 将Windows服务用作计划服务

C# 将Windows服务用作计划服务,c#,windows-services,scheduled-tasks,scheduling,C#,Windows Services,Scheduled Tasks,Scheduling,我有一个客户的问题,根据时段类型,每天或每两周运行一些数据库脚本。他们定义了“繁忙”时期和“安静”时期。他们正在为应用程序使用共享托管,无法将SQL Server作业添加到数据库中 我想做的是创建一个windows服务,它可以使用配置文件进行配置,包含不同的时段及其间隔。 此服务正在检查配置文件中的当前时间和日期与计划周期,并在间隔匹配后执行sql server存储过程 我的问题是:有没有更好的方法在没有sql server的情况下执行此类调度,或者您是否知道是否已经存在一个更通用(免费)的解决

我有一个客户的问题,根据时段类型,每天或每两周运行一些数据库脚本。他们定义了“繁忙”时期和“安静”时期。他们正在为应用程序使用共享托管,无法将SQL Server作业添加到数据库中

我想做的是创建一个windows服务,它可以使用配置文件进行配置,包含不同的时段及其间隔。 此服务正在检查配置文件中的当前时间和日期与计划周期,并在间隔匹配后执行sql server存储过程

我的问题是:有没有更好的方法在没有sql server的情况下执行此类调度,或者您是否知道是否已经存在一个更通用(免费)的解决方案

[编辑] 我无法使用windows任务调度程序,因为它们的安静期在冬季,繁忙期在夏季。使用任务调度器,我必须每年手动修改两次计划的任务。这正是我和我的客户想要的。 [/编辑]

谢谢

您可以使用windows的“计划任务”功能在需要时启动一些控制台应用程序


如果您想创建自己的计划解决方案,那么我建议您看看,它提供了与windows任务计划程序相同的灵活性。

为什么不使用任务计划程序,然后每次启动应用程序时,它都会检查自己的计划,以确定是否需要执行某些操作

因此,您可以使用任务调度器每15分钟启动一次应用程序。当应用程序启动时,它使用自己的配置文件来确定是否需要执行某些操作


您还可以使用它让您的应用程序停止任何当前正在运行的应用程序版本,以终止任何长时间运行的任务

服务器是否有可用的任务调度程序?我会检查Quartz,看起来很有希望。