|
知识路径: > 电子商务系统程序设计基础 > 电子商务系统建设 > B/S结构程序设计 > ASP.NET的内置对象 >
|
被考次数:2次
被考频率:低频率
总体答错率:51%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:24个
|
|
|
|
当用户请求一个ASP.NET页面时,系统将自动的建立一个Session(会话),用户退出应用程序或服务器关闭时,会话撤销。Session创建时,系统为Session建立一个标识字符串SessionID,用来管理和跟踪Session,该标识字符串很长,而且具有随机性和唯一性,保证了每个用户Session不会冲突以及Session的安全性。
|
|
|
Session一般用来存储跨页程序的变量或对象,功能基本同Application对象类似。但Application对象针对整个网站,Session对象变量只针对一个用户,即同一个网站的不同用户的Session对象是不相同的,而且每个用户之间也不能互相访问Session。Application对象终止于IIS服务停止,但是Session对象当网页使用者关闭浏览器或者网页使用者在页面进行的操作时间超时,Session对象将会自动注销。
|
|
|
|
.Count:获取Session对象中子对象的数量。
|
|
|
.IsCookieLess:返回一个布尔值,true表示将SessionID嵌套在URL中,否则存放在Cookies中。
|
|
|
.IsNewSession:如果用户访问页面时创建新会话,则此属性将返回true,否则返回false 。
|
|
|
.IsReadOnly:返回一个布尔值,表示Session是否为只读。
|
|
|
.SessionID:获取SessionID的值。
|
|
|
.TimeOut:传回或设置Session对象变量的有效时间,如果在有效时间内有没有任何客户端动作,则会自动注销。
|
|
|
注意:如果不设置TimeOut属性,则系统默认的超时时间为20分钟。
|
|
|
|
|
|
|
.RemoveAt(index):删除会话指定索引的项。
|
|
|
.Abandon:该方法用来结束当前会话并清除对话中的所有信息,如果用户重新访问页面,则可以创建新会话。
|
|
|
.Clear:此方法将清除全部的Session对象变量,但不结束会话。
|
|
|
注意:Session对象可以不需要Add方法进行创建,直接使用Session["变量名"]=变量值的形式也可以创建Session对象。
|
|
|
|
|
|
注意:当用户关闭浏览器或者退出应用程序时,并不会触发Session_End事件。End事件只有在服务器Web应用程序退出,或者用户调用Abandon方法或者未执行任何操作时间超过了Session设定的TimeOut时才触发。
|
|
|
|
|
|
|
|
|
|
|
|
注意:Session["对象名"]返回值是一个Object类型的对象,读取时注意类型的转换。
|
|
|
Session对象可以使用于安全性较高的场合,如后台登录。在管理员登录后台以后,管理员拥有一定的操作时间,而如果管理员在这段时间不进行任何操作的话,为了保证安全性,后台将自动注销,如果管理员需要再次进行操作,则需要再次登录。在管理员登录时,如果登录成功,则需要给管理员一个Session对象,代码如下:
|
|
|
|
为了防止非法访问主页index.aspx,在index.aspx.cs文件的Page_Load方法中,可以判断是否已经存在Session对象,如果存在Session对象,则说明管理员当前的权限是正常的,而如果不存在Session对象,则说明当前管理员的权限可能是错误的,或者是非法用户正在访问该页面,代码如下:
|
|
|
|
当管理员单击注销按钮时,则会注销Session对象并提示再次登录,例如:
|
|
|
|