码迷,mamicode.com
首页 > Web开发 > 详细

webserivic定时器自定停止的解决办法(转自别人的帖子)

时间:2016-06-14 08:50:08      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:


我是在.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是个方法(略)
}

解决::::::::
 
有可能是由于timer已经被回收掉了 你是在什么环境下面winform? webform? 

经过你的补充我看明白了 是这样的 由于你的应用程序在特定空闲时间之后相应的w3wp辅助进程会被回收掉 所以你的timer自然没有作用了 你可以查看iis 应用程序池的属性 切换到性能选项卡空闲超时 默认的时间是20分钟 也就是说如果20分钟内你的网站没有任何请求那么就会造成回收
技术分享

 


webserivic定时器自定停止的解决办法(转自别人的帖子)

标签:

原文地址:http://www.cnblogs.com/houzf/p/5582677.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!