会话数据在会话重新生成后丢失.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");