我自己的解决办法的是NEW 多个时间控制器,   还是写多个服务,每个服务执行不同的程序

解决方案 »

  1.   

    应该就是使用多个计时器(Timer),在Window编程里没有一个可以按小时来管理的组件或方法,可以使用Timer按一定的时间间隔来检测系统时间,如果检测到的系统时间在设定的范围内则引事事件方法执行某些任务。
      

  2.   

    一个Timer  每个事件记录一个上次执行时间,可以放到一个里执行
      

  3.   


    这个方法是对的。检测windows时间,比如这次任务运行完成后,则设定下一次任务运行的时间,然后在timer事件中定时检测,如果时间到了则运行该次任务就可以了。timer对象的最大时间间隔不能达到半个小时的。
      

  4.   

    我测试了  timerClose = new System.Threading.Timer(new System.Threading.TimerCallback(timerCall), this, 0, 60000);
                timerClose1 = new System.Threading.Timer(new System.Threading.TimerCallback(timerCall), this, 0, 120000);   同时NEW 2个new System.Threading.Timer,服务走半分钟就自动停止了,一个就没问题
      

  5.   

    我测试了  timerClose = new System.Threading.Timer(new System.Threading.TimerCallback(timerCall), this, 0, 60000); 
                timerClose1 = new System.Threading.Timer(new System.Threading.TimerCallback(timerCall1), this, 0, 120000);  同时NEW 2个new System.Threading.Timer,服务走半分钟就自动停止了,一个就没问题  
      

  6.   


    会不会是timerCall或者timerCall1执行过程中出错了,里面做了什么事?你是怎么发现"服务走半分钟就自动停止了"?是服务停止不是timer停止哦??