gpt4 book ai didi

c# - ASP.NET sessionID 不会更新

转载 作者:行者123 更新时间:2023-11-30 17:08:34 26 4
gpt4 key购买 nike

我点击应该重新启动 session 的刷新按钮:

protected void btnRefresh_Click(object sender, EventArgs e)
{

HttpContext.Current.Session.Abandon();
HttpCookie mycookie = new HttpCookie("ASP.NET_SessionId");
mycookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(mycookie);
LblSessionID.Text = HttpContext.Current.Session.SessionID+
" test btnRefresh_Click";
LblIsNewSession.Text = Session.IsNewSession.ToString();
}

但是当按钮被点击时,LblSessionID中的SessionID值仍然显示旧值,但显示另一个标签 LblIsNewSession将对 IsNewSession 显示为 true。 LblSessionID当我使用具有 autopostback="true" 的 asp.net 控件(如下拉列表)时,将反射(reflect)实际的 SessionID 值SessionID 从那里开始。

我确实使用 global.asax

知道为什么 LblSessionID没有表现得像它应该的那样,正在等待下一次回发开始反射(reflect)实际值(value)?

当我启动 Web 应用程序时,问题是一样的 - LblSessionID显示不同的值,然后在第一次回发后更改并从那里保持不变。

最佳答案

这就是它的工作方式 - 如果您放弃 session ,它不会反射(reflect)到下一个请求。想想也是有道理的……

假设您有一个用户访问您的站点并获得 123 的 session ID(我知道这不是实际值的反射(reflect))。当您单击按钮以获取新的 session ID 时,用户的请求来自旧 session ,这是在该 Request 期间反射(reflect)的值。一旦 session 被重置(或放弃或其他),用户将获得一个新的 session ID 321,随后的 Request 将反射(reflect)该新 session ID。

关于c# - ASP.NET sessionID 不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650396/

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