我们应该将哪个“平台”用于通知程序组件?

时间:2010-06-15 18:12:07

标签: windows windows-services notifications scheduler

我们需要开发一个通知程序组件。它将做的是以给定的间隔(例如,每15分钟)扫描一个数据库,看看是否需要发送任何通知。

我们在Windows上运行,所以我们一直在寻找Windows服务或Windows任务计划程序。

我们最关心的是我们实施的稳健性。如果它由于某种原因崩溃了,它可以在下一个时间间隔自动重启吗?我们可以使用自定义日志记录逻辑来处理崩溃吗?

我想对这里使用的内容进行有根据的猜测:)如果您需要其他信息,请随意说出这样的猜测..

如果有人可以列出Windows服务与Windows任务调度程序的优缺点,则会给出道具。此外,应该注意的是,我们没有设置这两个,所以如果您有任何替代方案,请发布。

提前致谢:)

1 个答案:

答案 0 :(得分:2)

如果您的应用程序不需要连续运行,则使用任务计划程序有一些优势。设置起来要容易一些,您可以将应用程序配置为每15分钟运行一次,执行查询,发送通知,安排下次运行并关闭。然而,考虑到15分钟的间隔,您可能最好将其作为Windows服务实现,因为产生和终止过程的开销经常会否定不持续运行的好处。

Windows服务

优点

  • 可以配置为自动重启(请参阅Service Manager控制面板应用程序中的服务属性)
  • 可以配置为在其他用户帐户的上下文中运行
  • 可以远程启动,停止
  • 即使没有人登录也继续运行

缺点

  • 需要提升安装
  • 持续运行,这可能有利也可能不是有利的

任务计划程序

优点

  • 可以配置为按照您选择的计划运行,包括复杂的计划
  • 可以配置为在其他用户帐户的上下文中运行

缺点

  • 如果一次调用失败,您将不得不等到下一次调用,或者实施逻辑来适当调整调度