会话数据在.net中重新生成会话后丢失

时间:2013-03-20 06:14:18

标签: c# asp.net 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);

1 个答案:

答案 0 :(得分: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");
相关问题