解决页面的Session.SessionID不同的问题

3/25/2009来源:ASP.NET技巧人气:12189

今天突然发现apsx页面的session.SessionID在每次刷新或者点击按钮的时候,每次的SessionID都不同。和之前学到session是客户端与服务器端建立的会话,一但建立始终保存在服务器端,除非session过期或主动关闭session。那SessionID就应该是一个了,很是困惑。

在网上仔细查了一下才发现。原来当用户第一次请求给定的应用程序中的 .asp 文件时,ASP 生成一个 SessionID。SessionID 是由一个复杂算法生成的号码,它唯一标识每个用户会话。在新会话开始时,服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中。

所以,每个页面的SessionID会不时的变化,当保存过一个Session之后,其它的页面中的SessionID就不会再变化了,因为它们都是基于浏览器的。最好的解决办法就是,在整个项目中的每个页面都在加载的时候保存一下Session。