会话数据在会话重新生成后丢失.net
问题描述:
我在登录页面上重新生成了会话并设置了会话[“xx”} =“yy”;在一些变量中。 但重定向到主页会话数据丢失后。 任何人都可以告诉我这个问题。以下是会话重新生成的代码。会话数据在会话重新生成后丢失.net
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);
答
当您创建并设置新的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");