我有个事物需要在每天凌成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里面也是正确的。你要简化测试方法
------解决方案--------------------------------------------------------