Session 是用于保持状态的基于 Web 服务器的方法。Session允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。对象保存在Session里面是有一定的时间和条件限制的,即客户端要在一定的时间间隔内保持与服务器的交互,这个时间间隔默认为20分钟,可根据不同的需要进行设当的调整,下面给出Session一般的使用方法: 1、可以保存值类型:如string字符串型: 写入Session: string username="username"; Session["username"]=username; 读出Session中对应的值,需要判断指定Session是否存在: string username=""; if(Session["username"]!=null)
{
username=Session["username"].ToString();
} 2、可以写入对象类型:如用户自定义了一个Users类 class Users { public Users(){} public string username{get;set;}//账号 public string pwd{get;set;}//密码 } 对象写入Session: Users user=new Users(); user.username="51asp.net.cn"; user.pwd="51asp.net.cn"; Session["Users"]=user; 读出Session中的对象,同样需要判断指定Session是否存在: Users user=new Users(); if(Session["Users"]!=null) { user=(Users)Session["Users"]; } 3、用户登录中Session的使用(这里只保存字符型值): 页面初始化时需检查Session中是否有值: if(!IsPostBack) { if(Session["username"]!=null) { string username=Session["username"].ToString(); } else{ Response.Redirect("~/Login.aspx");//跳转到登录页面 } } 登录时写入Session: Session["username"]=this.userName.Text; 4、Session的缺点: 它是保存在服务器端内存中的一个个因客户端不同而独立的数据,因此同时在线的人越多,不同的Session值也就越多,服务器内存占用的就越多,可想而知,用户多的话,对服务器的配置还是有要求的。
|