- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Session对象
课程引入:
Application保存的是用户的共享信息,那么用户的个性化信息应该如何保存呢?如QQ中的用户名,密码,聊天记录等,有些同学可能会想到用Cookie,它确实能完成相应功能,但它保存在客户端,安全性能不好,既要保存好个性信息,又想有较好的必威体育官网网址性,可以用我们今天要讲的Session对象来完成。
一、Session对象功能及特点
什么是Session?
简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运这台服务器上的网站。当每个用户首次与这台 WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。Session对象通常用来存储不同用户个人会话产生的信息。这样当用户在Web页之间跳转时,存储在Session对象中的变量将不被清除,而是在整个用户会话中一直存在下去。例如购物网站会把不同的商品分别放在不同的网页中,而“购物篮”并不属于某一个网页,而只属于这个顾客。当会话过期或被放弃后,服务器将终止该会话。
什么是会话期?
在同一个网站服务器上,从一个浏览器窗口打开到关闭这个期间。Session就是用来维护这个会话期间的值的。不同的网站,则不是一个会话。
特点:
Session对于每一个客户端(或者说浏览器实例)是“人手一份”,用户首次与Web服务器建立连接的时候,服务器会给用户分发一个SessionID作为标识。
SessionID是一个由24个字符组成的随机字符串。用户每次提交页面,浏览器都会把这个SessionID包含在HTTP头中提交给Web服务器,这样Web服务器就能区分当前请求页面的是哪一个客户端。
Session对象的功能由HttpSessionState类提供,每个用户的会话事件都具有该类的一个实例。
二、设置与获得Session对象的数据
Session对象变量的使用方法与Application对象非常相似。
定义:
例如下面的代码定义了username,age两个Session变量
Session[“username”]=”周瑜”;
Session[“age”]=16;
读取
在每次读取Session的值以前务必先判断Session是否为空(null),否则很有可能出现“未将对象引用设置到对象的实例”的异常。从Session中读出的数据都是object类型的,需要进行类型转化后才能使用。
if (Session[UserName] != null)
{
string username = Session[UserName].ToString();
Response.Write(username);
}
限制
没有大小限制。
默认情况下,如果cookie被禁用了,Session状态也不能正常工作了。默认情况下,假设用户超过20分钟不请求任何页面,保存在Session状态中的数据会被丢弃。
internet选项”\ “隐私”\“高级”,选中“覆盖自动cookie处理”,接受第一方cooke,阻止第三方cookie
Session可以采用cookie和cookieless两种试传递信息。
第一方 Cookie来自您正浏览的网站,可能是永久的,也可能是临时的。 网站可能使用这些 Cookie 存储在下次访问此站点时可能需要再次使用的信息。
第三方 Cookie来自您正浏览的网站上的其他网站的广告(例如,弹出窗口或横幅广告)。 出于市场目的,网站可能使用这些 Cookie 跟踪您的 Web 使用情况。
三、Session对象的属性和方法
(1)SessionID——只读的属性用于标识Session的唯一性
当不同的用户登录同一个页面时,服务器为每一个用户分配一个Session。这些Session应该是各不相同的,不然就无法正确识别用户。也就是说,当一个Session创建后,它应该具有一个独一无二的标识。SessionID就是Session的唯一性标识,它是由服务器产生的随机数据,类型为长整型。
语法格式:Session.sessionID
在客户端,浏览器会将本次会话的sessionID值存入本地的Cookie中,当再次向服务器提出页面请求后,该sessionID值将作为Cookie信息传送给服务器,服务器就可以根据该值找到此次会话以前在服务器上存储的信息。
(2)Timeout——可读写的属性,用于设置应用程序会话状态的超时时间,单位为分钟。默认为20分钟。
如果用户在该超时时限内不刷新或请求网页,则该会话将终止。
???? 语法格式:Sessi
文档评论(0)