gpt4 book ai didi

asp.net - 浏览器关闭并重新打开后保持相同的 session

转载 作者:行者123 更新时间:2023-12-02 16:51:26 25 4
gpt4 key购买 nike

我是 ASP.NET 新手。我登录站点并为用户 ID 创建 session ,将此 session 视为 s1。添加一个 cookie (c1) 到客户端站点,有效期为 3 天。

假设如果我关闭浏览器而不注销,并且再次使用相同的网址,那么我发现 session 为空,但我得到了 cookie (c1),然后我创建了一个新 session 。但 session s1 仍然占用服务器上的内存。意味着此时两个 session 在同一台服务器上占用内存。

我想将 session s1 与 cookie (c1) 一起使用 - 这可能吗?或者如果第二次收到请求,我想删除 session s1。

我使用的代码是:

 if (Session["UserInfo"] != null)
{
// code
}
else
{
HttpCookie HT = Request.Cookies["User"];
if (HT != null)
{
Session["UserInfo"] = HT["UserName"]; //Here new session is created while previous is already exist on server
}
else
{
//code
}
}

最佳答案

IE 在每个请求上生成一个新的 session ID。因此,当您关闭浏览器时,旧的 session ID 就会丢失,因此浏览器会发送带有新 session ID 的请求。这就是为什么你无法获得 session 的值(value)。

但在服务器上它会占用服务器内存, session 超时后服务器会清除该内存。

Firefox 在每个请求上发送具有相同 session ID 的请求,即使您关闭浏览器选项卡,您也可以获取您的 session ID。

关于asp.net - 浏览器关闭并重新打开后保持相同的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com