在ASP.NET MVC 5应用程序中,我想在应用程序启动时重置会话ID。使用this answer应重置会话ID。我在Global.asax.cs
:
protected void Session_Start(object sender, EventArgs e)
{
Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
var manager = new SessionIDManager();
string newID = manager.CreateSessionID(Context);
bool redirected = false;
bool isAdded = false;
manager.SaveSessionID(Context, newID, out redirected, out isAdded);
}
但是,使用上面的代码,会话ID在Session.Abandon()
之后和manager.SaveSessionID()
之后保持不变(我在Visual Studio中使用立即窗口并通过运行此命令进行测试:Session.SessionID
) 。
我是否在应用生命周期的正确位置执行此操作?我做错了什么?