在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。注意 会话状态仅在支持 cookie 的浏览器中保留。
一、关于session的demo
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class demo1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if(Session ["userInfo"]!=null) { Label1.Text ="当前登陆的是考务人员,用户名为:"+(string)Session ["userInfo"]; } else { Label1.Text = "当前登录的是考生,用户名为:" + (string)Session["userInfo"]; } } protected void redirectPath(string userRole, string loginName, string password) { if (userRole.Equals ("考务人员")) { string userInfo = loginName; if (loginName =="") { Label1.Text = "<div class='label1'>账号密码不能为空</div>"; } else { if (Session ["userInfo"]==null)//用session做判断 { Session["userInfo"] = userInfo; //给session赋值 } else { userInfo = (string)Session["userInfo"]; //用session给变量赋值 } } //Response.Redirect("Default.aspx"); } } protected void Button1_Click(object sender, EventArgs e) { if(Label2 .Text =="考务人员") { redirectPath("考务人员",TextBox1 .Text,TextBox2.Text); } } }
在一个系统中有很多信息需要保存,以便后续使用,特别是个人信息登录的时候。学会使用Session来保留个人信息,对Session做判断,对Session赋值,用Session给变量赋值等这些方式是很方便的。
二、关于session拓展
首先cookie 和session 的区别:
1)cookie数据存放在客户的浏览器上,session数据放在服务器上。
2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。
4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5)所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
三、总结思考
我感觉在权限登陆的时候蛮好用的,因为你可以暂时保存这些信息。经常我们在登陆网站之后上面写着:某某某已登录。这个就可以用于session写着。