(ASP.NET)如何确定用户访问网站的时间长度?

时间:2009-09-24 21:44:31

标签: asp.net session

如果用户已经在我的网站上停留了五分钟且尚未登录,我需要向用户显示提醒。

我该怎么做?

我会在Application_Start上为会话添加soemthing吗?有没有办法只检查某人会话的长度?也许在标题/母版页中添加一些东西,如果它超过五分钟就会抛出警报?

任何帮助都将不胜感激。

谢谢。

编辑---

我最终做的是使用AjaxControlToolKit找到的asp:Timer控件。

3 个答案:

答案 0 :(得分:7)

最初加载IIS应用程序时会触发Application_Start。 Session_Start将为每个开始的新会话触发。

如果您将当前时间存储在Session_Start中的Session中,那么您可以检查页面加载或使用ajax调用来确定是否已经过了五分钟而没有登录。

答案 1 :(得分:2)

答案确实存在于Globals.asax中,但Application_Start不是它。这用于ASP.NET应用程序实际启动时。

我会在Globals.asax的Session_Start方法中将DateTime.Now添加到会话中。然后,您可以在每个页面加载时检查它(例如,在基页或主页的onload事件中),或使用Ajax轮询服务器。

答案 2 :(得分:0)

如果你真的需要5分钟的检查,你需要从Session_Start注册一个5分钟的ajax回调。棘手的部分是有一个页面加载并准备就绪,可以在它触发时接收它。

使用AJAX轮询服务器可能是更常见的方法。