我有一个很大的疑问
为什么会话ID在所有网页中都不一样?
CODE:
在网页1.aspx.cs
String sess1 = Session.SessionID.ToString();
在webpage2.aspx.cs
String sess2 = Session.SessionID.ToString();
当我加载我的网页1.aspx时,它会显示一个唯一的sessionID,然后导航到webpage2.aspx,它会显示另一个新的唯一会话ID
sessionID(sess1,sess2)应该相同,它会生成不同的sessionID。
我可以为什么?
以及如何在所有aspx页面中维护该sessionID
答案 0 :(得分:1)
原因:
使用基于cookie的会话状态时,在使用Session对象之前,ASP.NET不会为会话数据分配存储空间。结果,为每个页面请求生成新的会话ID,直到访问会话对象。如果您的应用程序需要整个会话的静态会话ID,您可以在应用程序的Global.asax文件中实现Session_Start方法,并将数据存储在Session对象中以修复会话ID,或者您可以在您的另一部分使用代码应用程序在Session对象中显式存储数据。
你必须像这样使用Session["Id"] = 0;
。
如果你不在C#代码中使用它,它将在每次请求时生成新的。