请问怎么控制程序在每天的8:00-9:00执行一次,16:00-17:00执行一次,0:00-1:00执行一次,谢谢!

解决方案 »

  1.   

    用线程while(running) {
       if 当前时间在给定的时间范围内 then
          do something
       Thread.Sleep(...)
    }
      

  2.   

    三种选择, 一,放到计划任务
    二,做成Service 
    三,放到SQL的Job里,调用
      

  3.   

    如果是操作数据库中的数据,就用数据库作业(job)
    否则就用windows的任务计划吧,可以设定时间调用一个程序.用service或在死循环中判断就显得太没有必要了,因为你的执行频率太低了.
      

  4.   

    用timer1_Tick方法,很简单!
    timer1_Tick
    {
            if(System.DateTime.Now.Hour >= 8&&System.DateTime.Now.Hour <= 9)
                  {
                    running;
                     }
             else if (System.DateTime.Now.Hour >= 16&&System.DateTime.Now.Hour <= 17)
                  {
                    running;
                  }
              else (System.DateTime.Now.Hour >= 8&&System.DateTime.Now.Hour <= 9)
               {
                runing;
                  }
    }
      

  5.   

    建议这样使用,用线程加上
    用timer1_Tick方法,很简单!
    timer1_Tick
    {
            if(System.DateTime.Now.Hour >= 8&&System.DateTime.Now.Hour <= 9)
                  {
                    running;
                     }
             else if (System.DateTime.Now.Hour >= 16&&System.DateTime.Now.Hour <= 17)
                  {
                    running;
                  }
              else (System.DateTime.Now.Hour >= 8&&System.DateTime.Now.Hour <= 9)
               {
                runing;
                  }
    }以上代码。。应该可以完成楼主的要求,并且不会错过时间。线程最好sleep 1000以下。
      

  6.   

    timer 太占系统资源了.还是任务计划好
      

  7.   

    要我看,搂主直接主程序,加个timer。不会多少影响。最简单了。
      

  8.   

    Timer很耗系统资源的,这种情况肯定不能用在真正的项目里面。
      

  9.   

    timer 太占系统资源了.还是任务计划好
      

  10.   

    JOB么然后JOB调用外部程序用线程太耗费资源