2

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

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

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

客户坚持说可以。但是,我坚信这是不可能的。我找不到任何参考证明它可以或不能完成。

如果有任何代码或参考资料可以帮助我,我将不胜感激。

4

1 回答 1

5

是的,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 : ");
}
于 2013-07-24T16:07:03.603 回答