今天突然發現apsx頁面的session.SessionID在每次刷新或者點擊按鈕的時候,每次的SessionID都不同。和之前學到session是客戶端與服務器端建立的會話,一但建立始終保存在服務器端,除非session過期或主動關閉session。那SessionID就應該是一個了,很是困惑。
在網上仔細查了一下才發現。原來當用戶第一次請求給定的應用程序中的 .asp 文件時,ASP 生成一個 SessionID。SessionID 是由一個復雜算法生成的號碼,它唯一標識每個用戶會話。在新會話開始時,服務器將 Session ID 作為一個 cookIE 存儲在用戶的 Web 浏覽器中。
所以,每個頁面的SessionID會不時的變化,當保存過一個Session之後,其它的頁面中的SessionID就不會再變化了,因為它們都是基於浏覽器的。最好的解決辦法就是,在整個項目中的每個頁面都在加載的時候保存一下Session。