【问题标题】:End Session on MVC在 MVC 上结束会话
【发布时间】:2011-02-12 04:39:03
【问题描述】:

我有这个问题,你可能知道答案...我的应用程序已经可以正常运行并且运行良好。每当用户对应用程序进行身份验证时,都会使用 LastLoginDate 更新其模型,而当用户注销时,应用程序会使用 LastLogOutDate 更新其模型。当用户继续单击注销链接时,这可以正常工作。但是,如果用户关闭窗口,LastLogOut 值将永远不会更新,并且管理员会看到在线用户未更新。当用户在其他地方工作时打开选项卡并且 .NET 失去会话时,也会发生同样的事情。

我没有管理会话时间,也没有任何类似的价值。我需要做的就是:如果一段时间后用户没有活动,则更新 LastLogOut 值并在其模型中将其设置为脱机,然后定期注销。如果用户关闭窗口也一样,但我认为第一种情况在两种情况下都有效。

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    您将需要一个可跟踪的LastActivityTime,它会在任何 GET/POST 以及一个(可能可配置的)超时时间上得到更新,比如 20 分钟,当显示登录用户时会将 LastActivityTimeDateTime.Now 进行比较,并且只返回那些在超时窗口内的。

    您还可以将LastLogOutDate 设置为LastActivityTime 以及向管理员显示时的超时时间。

    【讨论】:

      猜你喜欢
      • 2016-02-06
      • 1970-01-01
      • 2012-03-20
      • 2015-04-11
      • 2015-02-04
      • 2016-11-18
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多