0

我在登录页面上重新生成了会话并设置了 session["xx"}="yy"; 在一些变量中。但重定向到主页会话数据后丢失。谁能告诉我这个问题。这是会话重新生成的代码。

SessionIDManager manager = new SessionIDManager();
manager.RemoveSessionID(System.Web.HttpContext.Current);
var newId = manager.CreateSessionID(System.Web.HttpContext.Current);
var isRedirected = true;
var isAdded = true;
manager.SaveSessionID(System.Web.HttpContext.Current, newId, out isRedirected, out isAdded);
4

1 回答 1

0

当您创建和设置新的 sessionId 时,旧会话将无法使用新的 sessionid。因此,首先您需要销毁会话 cookie,然后我们在重定向到登录页面之前重新创建一个新的 sessionID。你可以试试这个:

Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
SessionIDManager manager = new SessionIDManager();
manager.RemoveSessionID(System.Web.HttpContext.Current);
var newId = manager.CreateSessionID(System.Web.HttpContext.Current);
var isRedirected = true;
var isAdded = true;
manager.SaveSessionID(System.Web.HttpContext.Current, newId, out isRedirected, out isAdded);
Response.Redirect("Login page url");
于 2013-03-20T08:09:11.347 回答