今天突然发现apsx页面的session.SessionID在每次刷新或者点击按钮的时候,每次的SessionID都不同。和之前学到 session是客户端与服务器端建立的会话,一但建立始终保存在服务器端,除非session过期或主动关闭session。那SessionID就应 该是一个了,很是困惑。
在网上仔细查了一下才发现,原来当用户第一次请求给定的应用程序中的 .aspx 文件时,ASP 生成一个 SessionID,SessionID 是由一个复杂算法生成的号码,它唯一标识每个用户会话,在新会话开始时,服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中。
所以,每个页面的SessionID会不时的变化,当保存过一个Session之后(如:Session[“test”]=”123′),页面中的SessionID就不会再变化了。
上述仅用于vs2005, vs2003Session.SessionID一直不变化。