0

基本上我想在我的应用程序中实现会话管理,会话超时为 1 小时。也就是说,我想在会话超时前 15 分钟显示一个弹出窗口。

在我的 .NET 应用程序中,有一个主页,通过单击主页上存在的不同链接,可以从该主页打开其他子页面。现在,可以通过编写一个计时器来显示会话超时警告弹出窗口cient 端脚本代码并使用主页上的 javascipt 方法-setinterval。

但是,当用户从主页转到任何子页面/窗口并通过从该子页面从数据库中获取数据来访问服务器来刷新会话 ID 时,就会出现问题。但是主页上实现的会话超时警告计时器会显示警告弹出窗口,即使会话已被子页面上的活动刷新。由于我无法在每个 cild 页面上实现计时器,因为它是一个具有大量子页面和嵌套 chld 页面的庞大应用程序,所以我想问的是 -我们可以在主页上触发一个事件以在服务器时重置会话超时计时器被击中了吗?

如果我们能做到,那么我的工作就完成了

4

1 回答 1

1

您无法收到会话清除或会话即将从服务器回发的通知。您可以从客户端实现您想要做的事情,但您需要处理 ajax 回发场景。通过监听 Sys.Application 事件,可以知道 AJAX 请求何时结束,并重启定时器(应该是 endRequest 事件)。回发到服务器应该自然刷新计时器,因为您的会话正在滑动到期,并且回发无论如何都会重置计时器。

这就是我在过去的项目中的做法。

于 2012-11-26T16:38:46.493 回答