8

我需要保持会话处于活动状态,除非用户在我的 asp.net mvc(C#) 应用程序中单击注销。

当用户关闭浏览器并再次打开时,会话应该继续使用这些值。

我正在尝试在stackoverflow中实现。

有什么想法/建议吗?

4

5 回答 5

9

您说您希望“像在 StackOverflow 中一样”保持会话活动。... StackOverflow 与大多数安全站点一样,不会无限期地保持会话活动。它使用 cookie 来“记住”登录。

于 2009-11-19T15:47:10.890 回答
2

如果您使用 FormsAuthentication,您可以执行以下操作:

FormsAuthentication.SetAuthCookie("userName", true); 

这将创建一个在不同浏览器会话中持续存在的 cookie,并将实现您正在寻找的内容。

于 2009-11-19T18:52:47.600 回答
0

如果您想记住“状态”,即使(由于会话/会话 cookie 过期)您正在强制您的用户再次登录。您需要保留会话数据。也许您的网络容器可以为您做到这一点。

于 2009-11-19T16:06:16.517 回答
0

首先,如果您想制作多会话但临时数据,您可能应该查看 ASP.NET 用户配置文件。

如果您想跨会话保持登录,请查看处理记住用户的 FormsAuthentication 位。

如果您需要在不设置超时的情况下无限期地保持会话(因此在某些情况下会触发服务器管理员的谋杀),一个巧妙的技巧是设置 Ajax“心跳”以在浏览器打开且有效时 ping 回服务器做一个“保持这个会话活着”的把戏。

于 2009-11-19T16:33:17.427 回答
-3

浏览器关闭时会话将丢失

于 2009-11-19T16:03:10.610 回答