Timer定时器过段时间后自动停止运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Timer定时器过段时间后自动停止运行相关的知识,希望对你有一定的参考价值。
我用.net做的一个Timer定时器,定时获取短信并给予回复,但大概过了十几个小时以后,Timer定时器会自动停止,再发送短信就不能收到回复,需要在服务器中重新运行定时器才可以,请教各位!
我是在.net framework中的,有一个Global.asax全局应用程序文件,帖代码:
public class Global : System.Web.HttpApplication
double iTimerInterval;
System.Timers.Timer timer = new System.Timers.Timer();
SmsRun smsRun = new SmsRun();
object objLock = new object();
protected void Application_Start(object sender, EventArgs e)
//在应用程序启动时运行的代码
//在新会话启动时运行的代码
SetAccount();
timer.Start();//定时器开始
protected void Application_End(object sender, EventArgs e)
timer.Stop();
private void SetAccount()
double.TryParse(ConfigurationManager.AppSettings["TimerInterval"], out iTimerInterval);
timer.Interval = iTimerInterval;
timer.Elapsed += new System.Timers.ElapsedEventHandler(getMessage);
//getMessage是个方法(略)
经过你的补充我看明白了 是这样的 由于你的应用程序在特定空闲时间之后相应的w3wp辅助进程会被回收掉 所以你的timer自然没有作用了 你可以查看iis 应用程序池的属性 切换到性能选项卡空闲超时 默认的时间是20分钟 也就是说如果20分钟内你的网站没有任何请求那么就会造成回收 参考技术A 很简单,session过期了。
连接被中断了。
webform中Global中使用定时器
以上是关于Timer定时器过段时间后自动停止运行的主要内容,如果未能解决你的问题,请参考以下文章
如何停止 System.Threading.Timer,然后更改其参数并再次运行? [复制]
C# winform中timer函数如何停止,点运行后可再次启动周期事件