在重新启动浏览器时维护会话变量

时间:2015-02-27 12:48:54

标签: asp.net iis asp-classic

我在我的网页上使用名为username的数据库中的a列创建了一个会话变量,并且我已将服务器上的会话超时设置为20000.现在当我关闭时浏览器再次打开以查看用户受限制的页面,即使我延长了会话超时,它也会将我退回以再次输入我的用户名和密码。它有一种方法,即使关闭再次打开浏览器,我仍然可以维持会话。我正在使用asp classic

1 个答案:

答案 0 :(得分:2)

超时与服务器有关,你永远不想把它提高到高,因为它将内容保存在内存中。高会话超时可能会导致问题,因为服务器需要恢复内存,高超时会告诉它尽量不要。

当用户关闭浏览器时,会话变量应该消失,因为这是他们会话的结束。如果您想要更持久的存储,则应将用户的凭据存储在cookie中。您可以控制cookie的过期,并告诉它在客户端上保留多少天。

会话变量使用cookie来识别用户,但是您无法控制该Cookie过期,这就是当浏览器关闭并且浏览器的内存被清除时它消失的原因。具有明确过期的cookie存储在浏览器缓存存储中,因此即使浏览器关闭它也会持续存在。