如何为Asp.net MVC中的每个登录创建会话ID?

Dev*_*per 7 c# asp.net asp.net-mvc session

我是MVC的新手,我希望为每个登录获得新的sessionId,因为我变得喜欢

     string sessionId=HttpContext.Current.Session.SessionID;
Run Code Online (Sandbox Code Playgroud)

但是,它为每次登录生成相同的sessionid.

我习惯于删除或清除以下会话:

        Session.Abandon();
        Session.RemoveAll();
        Session.Clear();
Run Code Online (Sandbox Code Playgroud)

但是每次登录都没有改变sessionid的变化.是否可以为每次登录创建新的sessionId?

Paw*_*wan 12

放弃会话/注销时尝试此操作:

Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
Run Code Online (Sandbox Code Playgroud)

通过清除该cookie,将在第二次登录后创建具有新会话ID的新会话.


Dev*_*per 10

我有更好的解决方案来创建新的会话ID

SessionIDManager manager = new SessionIDManager();
string newSessionId =  manager.CreateSessionID(HttpContext.Current);
Run Code Online (Sandbox Code Playgroud)

上面的代码帮助了我.