理论教育 ASP.NET教程:Session状态对象详解

ASP.NET教程:Session状态对象详解

时间:2023-11-20 理论教育 版权反馈
【摘要】:Session用来存储跨页程序的变量或对象,功能基本同Application对象一样。但是Ses-sion对象的特性与Application对象不同。Application对象终止于IIS服务停止,但是Session对象变量终止于联机机器离线时,也就是说当网页使用者关闭浏览器或者网页使用者在页面进行的操作时间超过系统规定时,Session对象将会自动注销。

ASP.NET教程:Session状态对象详解

Session用来存储跨页程序的变量或对象,功能基本同Application对象一样。但是Ses-sion对象的特性与Application对象不同。Session对象变量只针对单一网页,各个机器之间的Session的对象不尽相同。

例如用户A和用户B,当用户A访问该Web应用时,应用程序可以显示的为该用户增加一个Session值,同时用户B访问该Web应用时,应用程序同样可以为用户B增加一个Session值。但是与Application不同的是,用户A无法存取用户B的Session值,用户B也无法存取用户A的Session值。Application对象终止于IIS服务停止,但是Session对象变量终止于联机机器离线时,也就是说当网页使用者关闭浏览器或者网页使用者在页面进行的操作时间超过系统规定时,Session对象将会自动注销。

1.Session对象的特性

Session对象常用的属性有:

■IsNewSession:如果用户访问页面时创建新会话,则此属性将返回true,否则将返回false。

■TimeOut:传回或设置Session对象变量的有效时间,如果在有效时间内没有任何客户端动作,则会自动注销。

注意:如果不设置TimeOut属性,则系统默认的超时时间为20min。

Session对象常用的方法有:

■Add:创建一个Session对象。

■Abandon:该方法用来结束当前会话并清除对话中的所有信息,如果用户重新访问页面,则可以创建新会话。

■Clear:此方法将清除全部的Session对象变量,但不结束会话。

注意:Session对象可以不用Add方法进行创建,直接使用Session[“变量名”]=变量值的语法也可以进行Session对象的创建。

2.Session对象的使用

Session对象可以使用于安全性相比之下较高的场合,例如后台登录。在后台登录的制作过程中,管理员拥有一定的操作时间,而如果管理员在这段时间不进行任何操作的话,为了保证安全性,后台将自动注销,如果管理员需要再次进行操作,则需要再次登录。在管理员登录时,如果登录成功,则需要给管理员一个Session对象,示例代码如下:(www.daowen.com)

978-7-111-46863-9-Chapter04-22.jpg

当管理员单击注销按钮时,则会注销Session对象并提示再次登录,示例代码如下:

978-7-111-46863-9-Chapter04-23.jpg

在Page_Load方法中,可以判断是否已经存在Session对象,如果存在Session对象,则说明管理员当前的权限是正常的,如果不存在Session对象,则说明当前管理员的权限可能是错误的,或者是非法用户正在访问该页面,示例代码如下:

978-7-111-46863-9-Chapter04-24.jpg

上述代码当管理员没有登录时,则会出现登录按钮,如果登录了,存在Session对象,则登录按钮被隐藏,只显示注销按钮。其HTML代码如下:

978-7-111-46863-9-Chapter04-25.jpg

上述代码运行后如图4-5和图4-6所示。

当再次单击【注销】按钮时则会清空Session对象,再次返回登录窗口时会呈现同图4-5所示。

978-7-111-46863-9-Chapter04-26.jpg

图4-5 登录前

978-7-111-46863-9-Chapter04-27.jpg

图4-6 登录后

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈