我对C#和编码很新。我正在寻找一个示例/开源定时器函数,用于在特定时间每周一次抛出基本方法(例如电子邮件通知)。在做了一些研究之后,我发现使用Timer而不是Windows服务是明智的,因为它的工作量非常小。
我在CodePlex和Code Project上找到了几个计时器API,但由于我对C#的了解很少,我在使用这些示例时遇到了麻烦。
有没有人知道我可以使用的简单计时器是初学者友好的,还有一个漫步?或者使用System.Timers有一种更简单的方法吗?
我的最终目标是拥有一个定时器,它将在每个星期一的上午8:00触发一个方法。
编辑:我相信我的帖子应该更加详细。我选择不使用Windows任务计划程序的原因是因为我调用的方法比调用Windows任务更复杂。当计时器到达预定时间时,它将触发一个方法,该方法在数据库中查询在特定时间范围内需要服务的项目。然后,这将循环显示将其添加到电子邮件中的项目,该电子邮件将发送到该仓库的管理员。
如果我没有弄错,那么无法通过Windows任务计划程序完成?
答案 0 :(得分:7)
使用计时器是没有意义的。您的目标是在特定时间触发功能。如果您的服务器重新启动怎么办?您的计时器是否计算重启时间与星期一上午8:00之间的确切时间?
IMO,使用控制台应用程序和Windows任务计划程序。
对编辑的回应:当然,您可以使用Windows任务计划程序。调度程序的唯一功能是执行任务。它执行的任务的复杂性没有规则。此外,查询数据库和发送电子邮件并不是一项过于复杂的任务。 :)
答案 1 :(得分:2)
我将Quartz.NET用于cron作业。 这也适用于托管平台,您无法访问Windows服务。
你正在寻找的东西是微不足道的。 查看他们tutorial中的第一个示例。
答案 2 :(得分:1)
我不同意您的研究,并将其放入由Windows Scheduler运行的控制台应用程序中。
答案 3 :(得分:0)
答案 4 :(得分:0)
cron工作将是一个更好的选择。如果您的网站在周一早上8点停电,会发生什么?使用cron,只要服务器正在运行,它就可以执行您的请求。