Mus*_*sis 23
使用一个System.Threading.Timer.有一些构造函数可以使用a long,a uint或a TimeSpan代替intfor dueTime.任何这些都可以让你设置30天的时间.
更新:这是最简单的方法:
System.Threading.Timer _timer;
public void Start30DayTimer()
{
TimeSpan span = new TimeSpan(30, 0, 0, 0);
TimeSpan disablePeriodic = new TimeSpan(0, 0, 0, 0, -1);
_timer = new System.Threading.Timer(timer_TimerCallback, null,
span, disablePeriodic);
}
public void timer_TimerCallback(object state)
{
// do whatever needs to be done after 30 days
_timer.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
Bob*_*man 14
int days = 30;
Run Code Online (Sandbox Code Playgroud)
创建一个时间段的计时器.
递减days每次定时器触发.
kem*_*002 10
您可以随时让计时器等待一段时间,例如一天,每次计时器触发增加一个计数器并检查计数器的当前值.如果值为30,则执行应该每30天运行一次的代码.
更好的想法是将值设置在外部文件中的某个位置,以便在程序意外退出时,您可以从中断的位置继续.理想情况下,您可能希望将下一个运行日期放在文件中,这样如果程序关闭多天,您可以恢复并在正确的日期启动它,而不必担心上次运行的时间.所以像
NextRunDate = 10/10/2009 4:40 PM
当程序运行时,它将日期提前30天.
| 归档时间: |
|
| 查看次数: |
20551 次 |
| 最近记录: |