ASP.NET中使用计数器(Timer)的方法
ASP.NET中使用计数器(Timer)的方法
asp.net 中使用计数器有两种方法, 第一种是用javascript 下边是我测试过的第二种方法
首先把timer 定义成 Global 的成员变量
System.Timers.Timer timer;
Application_Start 函数的代码:
protected void Application_Start(Object sender, EventArgs e)
{
//1分钟为一个循环单位
System.Timers.Timer timer = new System.Timers.Timer (60000);
//动态添加timer的事件
timer.Elapsed +=new System.Timers.ElapsedEventHandler(timer_Elapsed);
timer.AutoReset = true; //如果为假只循环一次
timer.Enabled = true; //打开计数器

Application.Lock();
Application["TimeCounter"] = "1";
Application.UnLock() ;
}
timer_Elapsed 函数的定义
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Application.Lock();
int min = Convert.ToInt16 (Application["TimeStamp"]) +1;

Application["TimeStamp"] = min.ToString ();
Application.UnLock() ;

if(min == 60)
{//时间到
timer.Enabled = false;
Application.Lock();
Application.Remove ("TimeStamp");
Application.UnLock() ;

}
}
System.Timers.Timer timer;
protected void Application_Start(Object sender, EventArgs e)
{
//1分钟为一个循环单位
System.Timers.Timer timer = new System.Timers.Timer (60000);
//动态添加timer的事件
timer.Elapsed +=new System.Timers.ElapsedEventHandler(timer_Elapsed);
timer.AutoReset = true; //如果为假只循环一次
timer.Enabled = true; //打开计数器
Application.Lock();
Application["TimeCounter"] = "1";
Application.UnLock() ;
}
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Application.Lock();
int min = Convert.ToInt16 (Application["TimeStamp"]) +1;
Application["TimeStamp"] = min.ToString ();
Application.UnLock() ;
if(min == 60)
{//时间到
timer.Enabled = false;
Application.Lock();
Application.Remove ("TimeStamp");
Application.UnLock() ;
}
}


浙公网安备 33010602011771号