我的问题非常简单。 我有一个应该每天自动执行一次的应用程序。我之前没有这种情况的经验(前段时间我曾与IBM Control-M合作,但我猜它更完整,更复杂,更昂贵=)
我想到了两种可能的解决方案:
每种方法的优点/缺点是什么?
还有其他办法吗?
提前致谢。
答案 0 :(得分:5)
如果它每天只执行一次(或左右),那么就将它作为由Windows任务调度程序执行的常规命令行应用程序执行。任务调度程序已经具有确定何时启动程序,传入参数以及与任务调度相关的任何其他内容所需的所有UI。
将此类功能用作Windows服务的唯一真正原因是它需要比一分钟更高的执行分辨率。然而,Windows服务的主要缺点是你必须管理启动它的频率/时间的逻辑。另一个是应用程序始终在运行,如果您的代码出现问题,则可能会泄露内存。
答案 1 :(得分:1)
在Unix / Linux上,您将使用cron作业计划执行任务。 MS Windows版本称为任务计划程序,它已经是a service that run 24/7 and performs the needed actions depending on the time.
Create a repeating task with the Task Scheduler运行您的应用程序。创建,安装和配置服务应用程序并非易事。这是一个比创建标准表单或命令行应用程序更复杂的过程,无论如何你都不需要这样做。
答案 2 :(得分:0)
答案 3 :(得分:0)
另一个可能感兴趣的库是Quartz.NET