是web应该用程序哦~~~~~
用计时器的话,非常依赖程序开始执行的时间~ 
大家有什么好方法.

解决方案 »

  1.   

    你可以写个服务程序,或者
    http://www.csdn.net/Develop/Read_Article.asp?Id=20695
      

  2.   

    设置一个Timer,频繁点的例如500毫秒一次。
    在Timer的事件处理函数中看是否是每天上午8点到下午4点,然后就做你想做的事。
      

  3.   

    设置一个Timer,频繁点的例如500毫秒一次,这样执行太频繁了
      

  4.   

    如果不想设置Timer的话,可以用sql的作业来做,很方便的!设置每天00:00执行就行了!在写个存储过程,让他执行你想做的事情。万事ok。
      

  5.   

    还是使用Timer做这种事最好.楼主的问题在于,一天只要执行一次并且要在固定的时间里面执行,而且要不受站点使用时间(开启时间)的限制,其实这都是可以解决的.
    基本的实现,就是让定时器一个小时运行一次,每次都在执行代码里面判断是否预定的点数,如果是则执行,不是则不执行./// <summary>
    /// 系统开启事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Application_Start(Object sender, EventArgs e)
    {
          //创建一个新的Timer实例
        System.Timers.Timer sysTimer = new System.Timers.Timer();      
        //将sysTimer_Elapsed指定为计时器的 Elapsed 事件处理程序 
        sysTimer.Elapsed += new System.Timers.ElapsedEventHandler(sysTimer_Elapsed);
          //一个小时执行一次,此单位为毫秒
        sysTimer.Interval = 60*60*1000;
        sysTimer.AutoReset = true;
        sysTimer.Enabled = true;
    }
    /// <summary>
    /// 定时器事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void sysTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
      //为了实现在12点开始执行,要做一些判断工作
        if(DateTime.Now.Hour = 0)
        {
            //开始执行预定任务
        }
    }
      

  6.   

    做个windows服务,很容量!想干啥事都行!
      

  7.   

    如果是操作数据库,你可以写一个存储过程,定时执行,sql server有计划任务得。
    ————————————————————————————————
    DotNet中华网:www.aspxcn.org