C#-如何在用C#设计一个定时任务平台

发布于 2017-07-09 02:15:07 字数 151 浏览 1276 评论 2

请教一下,如何用C#设计一个定时任务平台呢?可能要承担很多的定时任务,比如说定时备份数据库,定时发短信提醒,定时执行从某远程机器传输文件的功能。这些都是单独的程序。我只是希望有一个平台提供某种接口,能在平台内完成定时执行的任务。 希望有高手能指定一下。谢谢如何在用C#设计一个定时任务平台

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜无邪 2017-10-19 04:15:32

可以创建WindowsService

晚风撩人 2017-07-13 22:13:58

服务和Windows Form都可以,两者的区别无非是一个开启关闭频繁,一个不频繁,一个有界面,一个无界面。
如果把定时任务看成是一种计算机命令,我们可以这么解决:
1.制定所有定时任务的特定ID
2.建立一个UDP监听器,该监听器能监听某个端口的信息。

新增定时任务:
将特定ID和计划执行时间以及其他参数通过UDP协议传输到能被监听器监听到的端口。监听器监听到该信息后,先将信息保存到XML文件中,然后新建一个线程,这个线程的机制是:先使用Thread.Sleep(T),使线程睡眠T时间(计划时间-当前时间),然后根据特定ID和参数执行某个命令。
计算机关机和开机(服务)或者程序开启和关闭(Windows Form)处理:
由于计算机关机或者程序关闭属于人为不可控事件,所以不做处理,因为定时任务的有关信息已保存在XML文件中。当计算机开机或者程序开启时,重新建立线程,但排除T时间为负值的定时任务,该定时任务信息在所有线程重新建立后,从XML文件中删除。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文