问题描述
各位,我在applocation_start中定义了TIMER测试,希望能每1秒钟刷新一下时间,但是为什么老是不刷新呢以下是我的代码voidApplication_Start(objectsender,EventArgse){//在应用程序启动时运行的代码System.Timers.TimermyTimer=newSystem.Timers.Timer();myTimer.Interval=1000;//关联事件myTimer.Elapsed+=newSystem.Timers.ElapsedEventHandler(myTimer_Elapsed);myTimer.AutoReset=true;//给Application["TIMEDEMO"]一个初始值Application.Lock();Application["TIMEDEMO"]=DateTime.Now.ToString();Application.UnLock();myTimer.Enabled=true;myTimer.Start();}关联的事件代码:voidmyTimer_Elapsed(objectsender,System.Timers.ElapsedEventArgse){Application.Lock();Application["TIMEDEMO"]=DateTime.Now.ToString();Application.UnLock();}小弟想做一个定时操作数据库的功能,先测试一下这种方法是否行得通,请大家给点已经,谢谢!!
解决方案
解决方案二:
Application_Start方法执行完成后,你能保证myTimer不被释放吗?
解决方案三:
你还是写在相应页面上把
解决方案四:
这个怎么写在相应页面上啊,这个是后台程序,定时自动运行
解决方案五:
timer被垃圾回收了吧
解决方案六:
你要把Timer加入到Application变量里面
解决方案七:
System.Timers.TimermyTimer=newSystem.Timers.Timer();voidApplication_Start(objectsender,EventArgse){//在应用程序启动时运行的代码myTimer.Interval=1000;//关联事件myTimer.Elapsed+=newSystem.Timers.ElapsedEventHandler(myTimer_Elapsed);myTimer.AutoReset=true;//给Application["TIMEDEMO"]一个初始值Application.Lock();Application["TIMEDEMO"]=DateTime.Now.ToString();Application.UnLock();myTimer.Enabled=true;myTimer.Start();}关联的事件代码:voidmyTimer_Elapsed(objectsender,System.Timers.ElapsedEventArgse){Application.Lock();Application["TIMEDEMO"]=DateTime.Now.ToString();Application.UnLock();}要声明一个全局Timer,这样才能保证Application_Start方法执行完成后,myTimer不被释放。不然myTimer被释放了,就产生不了每1秒刷新一次的效果了。
解决方案八:
Damon_King 我照你的做法,定义了全局TIMER 但是还是不行啊
解决方案九:
怎么知道没有运行呢?我这里测试过,可以正常的运行。
解决方案十:
那就奇怪了啊,我这里怎么就不行呢,老是触发不了
解决方案十一:
我用了楼主的代码一行也没有改变,试到我的程序里一是可以正常运行的。不明白楼主说的不触发是什么,你设置断点不会停下来吗?还是没有达到你要的效果?
解决方案十二:
我是说,正常运行时,页面上那个时间会变动的,但是我这里测试页面上的时间根本就不变;
解决方案十三:
楼主可以参考使用setTimeout方法,查看:http://www.51fy.cn/web/JavaScript/200708/41698.html