读书人

timer 的处理有关问题

发布时间: 2012-02-09 18:22:27 作者: rapoo

timer 的处理问题
假设一张表里面有数据如下:

LoopTime ProgUrl

20 http://xxxx.asp?k=xxxx
20 http://xxxx.asp?k=xxxx
20 http://xxxx.asp?k=xxxx
30 http://xxxx.asp?k=xxxx
30 http://xxxx.asp?k=xxxx
30 http://xxxx.asp?k=xxxx
120 http://xxxx.asp?k=xxxx
120 http://xxxx.asp?k=xxxx

LoopTime 表示循环时间(/分) ProgUrl 表示执行页面

问题是:要怎样用timer来处理这些不同时间段?一条接一条处理。


[解决办法]
你这样应该不可以,至少还需要记录每一条记录上一次的执行时间,初始化为1900-1-1,如果这样记录了就简单了,
1,查询一条记录,按上一次执行时间排序
2,如果当前记录已经到了本次执行时间,LoopTime + LastTime <= DateTime.Now, 则执行当前记录
然后转到上一步1继续运行,否则下一步3。
3,没到期,则计算还需要多长时间到期,设置timer的下一次时间间隔。
4,时间到了,转到1

读书人网 >C#

热点推荐