在ASP.net中停用20分钟后注销(向DB写一行)

时间:2011-05-05 19:26:44

标签: asp.net vb.net sql-server-2008

我想找一个教程,说明如何在一段时间不活动后退出。

通过注销,我的意思是在我的SQL数据库中写一行。数据库表设计有一个名为user_status的列。当用户登录时,ASP会将名为“登录”的行写入数据库表。我想找到一种自动机制,在某个不活动的某个pd之后将一行写入数据库

2 个答案:

答案 0 :(得分:2)

ASP.NET不提供任何可以在不活动后运行的事件。您可能会遇到会话结束事件(如果我没记错的话,可以是Session_end),但我知道事件不是很可靠。

我能想到的最简单的方法是跟踪用户上次活动时间。然后更新每个操作(显示和回发)的最后活动时间。每隔一分钟运行另一个例行程序,扫描桌子上的20分钟不活动的人。找到这些人后,重置他们的user_status条目。

答案 1 :(得分:1)

您可以在Application(Global.asax)的SessionEnd事件中执行类似的操作。

但是,只有在sessionstate模式为InProc时才会引发SessionEnd。