是否可以在asp.net中将会话ID设置为我选择的值

时间:2013-07-24 16:04:58

标签: c# asp.net session session-cookies sessionid

我们正在使用ASP.Net Framework 4.5创建一个网站。

我知道使用SessionManager为当前的httpContext生成新的sessionId的方法。我还认为sessionId字段是只读的,不能修改。但是,是否可以创建一个具有我选择的sessionId的新会话?

例如,如果我希望当前会话ID的值为“ASDFGHIJKLQWERTY”,是否可以创建一个?

客户坚持认为可以做到。但是,我坚信这是不可能的。我无法找到任何可以或不可以完成的参考。

如果您有任何可以帮助我的代码或参考资料,我将非常感激。

1 个答案:

答案 0 :(得分:3)

是的,SessionIDManager类可以这样做,如下所示:

SessionIDManager Manager = new SessionIDManager();

string NewID = Manager.CreateSessionID(Context);
string OldID = Context.Session.SessionID;
bool redirected = false;
bool IsAdded = false;
Manager.SaveSessionID(Context, NewID,out redirected, out IsAdded);
Response.Write("Old SessionId Is : " + OldID);
if (IsAdded)
{
    Response.Write("<br/> New Session ID Is : " + NewID);
}
else
{
    Response.Write("<br/> Session Id did not saved : ");
}