0

我有一个使用Windows 身份验证的基于 ASP.Net MVC 3 Intranet 的 Web 应用程序。每当用户启动应用程序时,我们都需要在数据库中存储一些用户特定的数据(仅用于当前用户会话)。

当用户退出应用程序时(即通过关闭浏览器窗口,由于超过 30 分钟不活动,网络故障等),我需要一种完整的证明方法来从数据库中删除这些临时数据

我只是想在布局页面中包含一个 javascript,用于定期记录用户在数据库中的最后活动时间,然后构建一个调度程序,如果活动时间高于定义,它可以检查数据库并删除用户的临时数据临界点。

请建议是否有更好和更简单的方法来做到这一点。

4

1 回答 1

1

即使在用户关闭窗口而不注销之后,问题肯定是清理。我们使用类似的解决方案,我们有一个计划的作业来查找过期会话并删除相关数据。不过,我们查找过期解决方案的方法要简单一些。

我们有一个 HttpModule ,它AuthenticateRequest更新LastActiveOn我们用户实体的属性。我们过滤掉某些类型的请求(如 AJAX 轮询、对图像和静态资源的请求等)。

于 2012-06-19T10:00:14.143 回答