为什么会话ID在所有网页中不一样?
本文关键字:网页 不一样 会话 ID 为什么 | 更新日期: 2023-09-27 18:16:54
我有一个很大的疑问
为什么会话ID在所有网页上都不一样?
代码:在webpage1.aspx.cs
String sess1 = Session.SessionID.ToString();
在webpage2.aspx.cs String sess2 = Session.SessionID.ToString();
当我加载我的网页。aspx,它显示一个唯一的sessionID,并导航到webpage2。它显示另一个新的唯一的sessionID
两个sessionid (sess1, sess2)应该是相同的,它生成不同的sessionid
为什么??
以及如何在所有aspx页面中维护sessionID
原因:
当使用基于cookie的会话状态时,ASP。NET在使用session对象之前不会为会话数据分配存储空间。因此,在访问会话对象之前,将为每个页面请求生成一个新的会话ID。如果应用程序需要整个会话的静态会话ID,则可以在应用程序的Global中实现Session_Start方法。asax文件并将数据存储在Session对象中以固定会话ID,或者您可以使用应用程序的其他部分的代码显式地将数据存储在Session对象中。
你必须像这样使用Session["Id"] = 0;
。
如果你不在c#代码中使用它,它将在每次请求时生成新的
引用SessionId