大家好,
我想知道,如果用户是在线还是离线,
和我用计时器来更新数据库中的用户最后一次访问,每5秒,
我在ASP.NET 2.0中使用System.Timers.Timer,
当我使用它,我注意到,在新的线程中运行的推移事件,因为它不会引起回发事件,火灾,但问题是,当我关闭浏览器的推移事件仍在提高,并没有停止。
我要当浏览器关闭或停止计时器,当我浏览到另一个网站,有没有任何办法阻止它吗?
还当我退出,定时器不停止执行的声明_timer.Stop()。
这是所有的代码:
| MrProgrammer_78
public partial class MainMasterPage : System.Web.UI.MasterPage
{
protected System.Timers.Timer _timer;
protected void Page_Init(object sender, EventArgs e)
{
_timer = new System.Timers.Timer(5000);
_timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
}
protected void Page_Load(object sender, EventArgs e)
{
if (Request.IsAuthenticated)
{
_timer.Start();
}
else
{
_timer.Stop();
}
}
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
// Code here for update User last visit in database
}
}