除非用户点击我的asp.net mvc(C#)应用程序中的注销,否则我需要保持会话的实时。
当用户关闭浏览器并再次打开时,会话应继续使用值。
我正在尝试像在stackoverflow中那样实现。
有任何想法/建议吗?
答案 0 :(得分:9)
你说你希望让会话保持活跃状态“就像在StackOverflow中一样。”... StackOverflow与大多数安全站点一样,不会无限期地保持会话存活。它使用cookie来“记住”登录。
答案 1 :(得分:2)
如果您使用FormsAuthentication,则可以执行以下操作:
FormsAuthentication.SetAuthCookie("userName", true);
这将创建一个在不同浏览器会话中持久化的cookie,并将实现您所需的目标。
答案 2 :(得分:0)
如果您想要记住'状态',即使(因为会话/会话cookie过期)您强迫您的用户再次登录。您需要保留会话数据。也许您的网络容器可以为您做到这一点。
答案 3 :(得分:-1)
首先,如果您想创建多会话但临时数据,您应该查看ASP.NET用户配置文件。
如果您希望跨会话持久登录,请查看处理记住用户的FormsAuthentication位。
如果你需要在没有永久设置超时的情况下无限期地保持会话存活(因此在某些情况下由服务器管理员触发谋杀),一个巧妙的技巧是设置一个Ajax“heartbeat”来ping回服务器,而浏览器是打开并有效地做“保持这个会话活着”的技巧。
答案 4 :(得分:-3)
浏览器关闭时会话将丢失