关于MVC的结束会议

时间:2011-02-11 20:29:16

标签: asp.net asp.net-mvc-2 session session-state

我有这个问题你可能知道答案...我的应用程序已经正常运行并正常运行。每当用户验证应用程序时,使用LastLoginDate更新其模型,并且当用户注销时,应用程序将使用LastLogOutDate更新其模型。当用户一直点击注销链接时,这很好。但是,如果用户关闭窗口,则LastLogOut值永远不会更新,并且管理员会看到在线用户不会更新。当用户在处理其他内容时打开选项卡并且.NET丢失会话时,会发生同样的事情。

我没有管理会话时间,也没有像这样的任何价值。我需要做的就是:如果一段时间后没有用户的活动,那么在定期注销之后,更新LastLogOut值并在其模型中将其设置为离线。如果用户关闭窗口,则相同,但我认为第一种情况将以两种方式工作。

我希望你能帮我解决这个问题,

感谢。

1 个答案:

答案 0 :(得分:0)

你需要一个可跟踪的LastActivityTime,它可以在任何GET / POST和一个(可能是可配置的)超时上更新,比如20分钟,当显示登录用户时会将LastActivityTime与{{{{}}进行比较1}}并且仅返回超时窗口内的那些。

每当向管理员显示时,您还可以将DateTime.Now设置为LastLogOutDate加上超时。

相关问题