我想问个问题,我现在在Global的Application_Start()方法里定义了一个Timer控件,然后间隔一段时间执行一个方法。我的项目是网站。比如说我每隔十分钟向数据库插入一条数据,但是现在有个问题。这个Timer关联的方法会在执行一段时间后就不执行了。(刚开始是正确的。但后来就不可以了)请问这是什么原因?可能我说的不是太明白。代码如下:
   void Application_Start(object sender, EventArgs e)
    {
        //在应用程序启动时运行的代码
        System.Timers.Timer myTimer = new System.Timers.Timer(60000 * 10);
        myTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);   
        myTimer.Interval = 60000 * 10;
        myTimer.Enabled = true;
    }   private static void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
  {
      //执行某个操作,比如给数据库中插入一条数据。
}
O(∩_∩)O~。求助

解决方案 »

  1.   

    建议不要放入 AppStart,应该做成一个 Windows 服务。
      

  2.   

    是不是因为IIS不稳定?为什么会造成这种情况?
      

  3.   

    IIS下,默认20分钟没有Request。IIS就会结束运行asp.net程序的进程。因此最好不要使用website.而是使用windows service.
      

  4.   

    长时间使用windows服务定时执行
    IIS的应用程序池进程重启
      

  5.   

    如果只有数据库操作的话,做一个 job 即可。
      

  6.   

    操作涉及到数据库,但是因为有很多逻辑需要判断,用Job做不了。呵呵