加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 每小时运行一次的Windows服务

发布时间:2020-12-15 18:31:06 所属栏目:百科 来源:网络整理
导读:我能够构建一个 Windows服务并安装它. 我很好奇我怎么能每小时运行这项服务?我希望它定期每小时运行一次. 我还需要知道它运行的小时范围,以便我可以将它存储在某个地方. 我怎样才能做到这一点? 编辑:此服务将安装在许多机器上,因此,我不想在100台服务器上
我能够构建一个 Windows服务并安装它.

我很好奇我怎么能每小时运行这项服务?我希望它定期每小时运行一次.

我还需要知道它运行的小时范围,以便我可以将它存储在某个地方.

我怎样才能做到这一点?

编辑:此服务将安装在许多机器上,因此,我不想在100台服务器上创建计划任务.

解决方法

如果您希望任务定期运行而不是持续运行,则应考虑使用 Task Scheduler.

如果您需要将代码作为服务,但每小时“激活”一次,最简单的方法是使您的服务成为COM对象,并且每小时调度一个简单的任务,调用创建COM对象的jscript / vbscript并调用简单的方法.

另一种方法是使用任何等待API来“浪费”一个小时而不消耗周期.

请注意,您还必须考虑一些有趣的设计决策,这些决策取决于您的方案:

>如果用户崩溃或被用户停止,您的服务将如何启动?
>如果您在一个多小时后开始工作,您是否应该再次开始运行,或者您是否需要等待达到确切的每小时计划?
>如果在您不活动时时区或日光节约时间发生变化,您如何跟踪上次“激活”时间?
>您的服务是否阻止计算机在空转或笔记本电脑盖关闭时进入休眠/休眠状态?如果没有,您是否需要在一小时内唤醒计算机以使您的服务按计划运行?

其中一些由任务调度程序负责,因此我强烈建议您在代码中等待一小时.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读