标签:
前言
最近在写一个类似商城的网站,使用了Session来保持用户的登录状态,之前没怎么全面的了解Session,趁这个机会彻底了解下Session,一下内容都是基于自己对网络一些资料和大牛的博客整理,还有一些自己的理解。
1.什么是Session
Session称为会话状态,是Web系统中最常用的状态,用于维护和当前浏览器实例相关的一些信息。
2.SessionID
当用户首次与Web服务器建立连接的时候,服务器会给当前访问用户分发一个 SessionID作为标识。SessionID是一个由24个字符组成的随机字符串。用户每次提交页面,浏览器都会把这个SessionID包含在 Http头中提交给Web服务器,这样Web服务器就能区分当前请求页面的是哪一个客户端。这个SessionID就是保存在客户端的,属于客户端Session.(ASP.NET中你如果访问一个后台处理页面,可以用Session.SessionID取值)。客户端Session默认是以cookie的形式来存储的,所以当用户禁用了cookie的话,服务器端就得不到SessionID。
3.Session模式和Session Provider
InProc:会话状态被禁用。
StateServer: 会话状态正在处理 ASP.NET 辅助进程。
SQLServer:会话状态正在使用进程外 ASP.NET 状态服务存储状态信息。
Custom:会话状态正在使用进程外 SQL Server 数据库存储状态信息。
OFF:会话状态正在使用自定义数据存储来存储会话状态信息。
总结:
4.使用介绍
web.config中的配置方式 mode:模式,timeout过期时间(分钟)
<system.web> <!--InProc是默认的Session模式--> <sessionState mode="InProc" timeout="30"></sessionState> </system.web>
Sesion的读写
var ss=new User(); Session["user"]=ss;//写入 var bb= Session["user"] as User;//读取
参考地址:
文章中的内容出处:【译文】漫谈ASP.NET中的Session 作者:ULiiAn·竹
Asp.net Session认识加强-Session究竟是如何存储你知道吗? 作者:dz45693
ASP.NET中Session的个人浅谈 作者: FlyElephant
标签:
原文地址:http://www.cnblogs.com/yzb-bky/p/5676988.html