延迟后,检查浏览器是否仍处于打开状态

时间:2014-05-22 14:08:24

标签: c# asp.net multithreading delegates

我有问题。 30秒后,我需要检查用户是否仍然打开我的Web应用程序(ASP.NET framework 3.5),然后将一些数据发送到我的数据库。目前我使用System.Timers.Timer类等待30秒,然后调用一个尝试访问page.response.IsClientConnected的方法

System.Timers.Timer Checker = new System.Timers.Timer();
Checker.AutoReset = false;
Checker.Interval = 30000;
Checker.Elapsed += new ElapsedEventHandler(ExtendLock);
Checker.Enabled = true;

ExtendLock方法

private void ExtendLock(Object sender, EventArgs e)
{
    if (this.Page.Response.IsClientConnected)
    {
         //do stuff
     }
}

但是,当调用该方法时,它无法访问控件盒的属性,这是因为它位于不同的线程中?有人可以建议一个更好的方法吗?

提前致谢!

0 个答案:

没有答案