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不變.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM