zoukankan      html  css  js  c++  java
  • asp.net页面跳转sessionid会变

    今天发现在一个Asp.net站点中, 同一次登录, 不停刷新页面或者页面跳转, 此时后台Session的SessionID总是变化的.

    创建一个页面,添加一个button,后台代码非常简单,如下

     
    1
    2
    3
    4
    5
    6
    7
    8
    9
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write(Session.SessionID);
        }
     
        protected void Button1_Click(object sender, EventArgs e)
        {
            Session["userName"] = "bsbdfe123";
        }



    前台就一个button按钮,当页面加载完成后,我尝试着做如下事情。

    1、不停的刷新页面,sessionid一直会变。

    2、不停的点击button,sessionid一直不变。

    1.你开始不停的刷新的时候压根就没用去用session,所以服务器认为这个会话来源不同的用户。

    2.当你使用了session的时候,服务器会向客户端发送一个包含sessionid的cookie,(button按钮点击事件里,使用了session.)会发现sessionID不变。

    或者

     只要在Global.ascx中加入:

    void Session_Start(object sender, EventArgs e) 
    {
        // Code that runs when a new session is started

    }

    void Session_End(object sender, EventArgs e) 
    {
        // Code that runs when a session ends. 
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer 
        // or SQLServer, the event is not raised.

    }

    就可保证同一次会话的SessionID不变.

  • 相关阅读:
    【转载】深入浅出VA函数
    oracle数据库怎么创建数据库实例
    2.4 OpenEuler中C语言中的函数调用测试(选做)
    OpenEuler 中C与汇编的混合编程(选做)
    程序运行
    改进ls的实现(课下作业)
    学习笔记12
    实验四 Web服务器1socket编程
    实验四 Web服务器2
    学习6
  • 原文地址:https://www.cnblogs.com/net-saiya/p/4980960.html
Copyright © 2011-2022 走看看