SessionID在每次页面调用时都会更改

时间:2015-08-26 11:54:05

标签: c# asp.net class session-variables

我在班上使用此代码访问argv

SessionID

然而,我发现HttpContext.Current.Session.SessionID; 在每个页面回发时都会发生变化,这种情况会在短时间内发生,因此当前会话不应该过期。我认为SessionID一直保持不变,直到过期。

2 个答案:

答案 0 :(得分:1)

您应该在应用程序Global.asax文件中使用Session_Start方法。链接下方可以帮助您

ASP.NET: Session.SessionID changes between requests

答案 1 :(得分:1)

  

使用基于cookie的会话状态时,ASP.NET不会分配   存储会话数据,直到使用Session对象。作为一个   结果,为每个页面请求生成一个新的会话ID,直到   访问会话对象。如果您的应用程序需要静态   整个会话的会话ID,您可以实现   应用程序的Global.asax文件和存储中的Session_Start方法   Session对象中的数据用于修复会话ID,或者您可以使用代码   在应用程序的另一部分中显式存储数据   会话对象。

protected void Session_Start(Object sender, EventArgs e) 
{
    Session["init"] = 0;
}