Windows服务与任务计划程序 - 手动启动

时间:2015-10-17 21:52:27

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

我正在尝试开发一个应用程序,它将扫描网站,从网站获取数据并在给定时间每天将数据保存到数据库中3x,可以在xml配置文件中设置。 由于添加的用户组可以每天手动触发应用程序最多几次。

我正在寻找为此解决方案使用Windows服务的优缺点,还是应该设置3个将运行控制台应用程序的计划任务?

如果我决定使用Windows服务,那么在服务运行时触发手动启动服务的最佳方法是什么?用户组将有某种Web界面来触发手动启动。

使用计划任务可以轻松完成此操作。我只设置一个3x计划任务,将在给定时间运行应用程序,用户组可以从Web界面启动.exe文件。但是,如果仅在应用程序尚未运行时才允许用户运行手动触发器?

2 个答案:

答案 0 :(得分:1)

由于用户界面最终是在网络中,因此服务本身不需要任何用户界面,我会使用Windows服务,可以触发用户通过网络启动或随时间自动启动(通过其内部码)。

然后,要么:

  1. 在服务中,它有一些东西可以指示其状态为正在运行,可以通过Web应用程序捕获它,或者,
  2. 在网络中,有一种请求/监控服务状态的机制
  3. 我认为非常灵活。我会选择哪个更容易。

答案 1 :(得分:1)

我为我的案例选择了任务调度程序选项。用户机制实现手动触发更容易。

优点 - 可以使用taks调度程序库轻松添加触发器。