当前位置: 代码迷 >> ASP.NET >> global.asax文件中的application_start方法执行有关问题
  详细解决方案

global.asax文件中的application_start方法执行有关问题

热度:7298   发布时间:2013-02-25 00:00:00.0
global.asax文件中的application_start方法执行问题
我有个事物需要在每天凌成1点执行,我在global文件中的application_start方法中做了个timer,代码如下
  protected void Application_Start(object sender, EventArgs e)
  {
  System.Timers.Timer myTimer = new System.Timers.Timer(180000);
   
  myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
  myTimer.Enabled = true;//
  myTimer.AutoReset = true;
   
  }

 void myTimer_Elapsed(object source, ElapsedEventArgs e)
  {
   
  log.Info("----程序执行-----");
  /*
  int hour = e.SignalTime.Hour;
  int min = e.SignalTime.Minute;
  int sec = e.SignalTime.Second;

   
  int iHour = 17;
  int iMin = 10;
  int iSec = 0;


  if (hour == iHour && min == iMin && sec == iSec)
  {
  //业务代码在这里
  }
   
   
  }


现在问题是想知道application_start的执行时间。
据我所知,这个方法是在应用程序开始时启动,但是我把web工程部署到IIS上面后没有执行,自己访问了一下页面,也还是没有执行,不解????
另外想知道,如果部署成功,IIS正常运行,web服务也不重启,想请问事物会不会中断。。。

------解决方案--------------------------------------------------------
另外,是否执行你是怎么判断的?也可能你判断方法或者执行的任务代码是错误的。iis环境和开发环境是有本质不同的,不要以为开发环境的代码正确就意味着iis里面也是正确的。你要简化测试方法
------解决方案--------------------------------------------------------
探讨
谢执行间隔谢提醒,这个很受用,确实没有考虑到这个细节。

不过我现在主要问题是无法激活application_start
我在测试时并没有指定具体执行时间,timer间隔时间为1000ms,但是还是没用
  相关解决方案