ASP.NET中客户端Session状态的存储

Session状态应该存储在两个地方,分别是客户端和服务器端。客户端只负责保存相应网站的SessionID,而其他的Session信息则保存在服 务器端。在ASP中,客户端的SessionID实际是以Cookie的形式存储的。如果用户在浏览器的设置中选择了禁用Cookie,那末他也就无法享 受Session的便利之处了,甚至造成不能访问某些网站。为了解决以上问题,在ASP.NET中客户端的Session信息存储方式分为:Cookie 和Cookieless两种。
ASP.NET中,默认状态下,在客户端还是使用Cookie存储Session信息的。如果我们想在客户端使用Cookieless的方式存储Session信息的方法如下:

  找到当前Web应用程序的根目录,打开Web.Config文件,找到如下段落:

程序代码:
<sessionState
  mode="InProc"
  stateConnectionString="tcpip=127.0.0.1:42424"
  sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
  cookieless="false"
  timeout="20" 
/>
 这段话中的cookieless="false"改为:cookieless="true",这样,客户端的Session信息就不再使用Cookie 存储了,而是将其通过URL存储。打开一个新IE,访问刚才的Web应用程序,就会看到类似下面的样子:
http://localhost:1756/SessionTest/(S(kytfcd454nm2ub455ryc2h45))/Default.aspx
 其中,黑体标出的就是客户端的Session ID
posted @ 2009-08-03 17:36  leixiaoling  阅读(541)  评论(1编辑  收藏  举报