Session是服务端的一个状态保持机制。与cookie不同,Session是将数据保存到服务器的内存当中。cookie则是客户端的。
一:创建Session
创建过程非常简单。与cookie除了在端的不同之外,Session可以存对象,字符,数字等。而cookie只能是字符串....
//session保存当前的登录用户 Session["user"] = manager;
当给Session赋值时,会将数据存储到服务器的内存当中。并且每一个Session都会有一个SessionID作为标志。
二:获取session
//获取session if (Session["user"] != null) { Manager manager = (Manager)Session["user"]; ViewData["manager"] = manager; }
三:Session过期时间
默认是20分钟。
也可以设置
Session.Timeout = 5000;
四
当用户在本次会话中,跳转到别的页面,我们可以拿到Session。
当用户跳转到别的页面时,服务器会将将session对应的sessionid通过cookie的方式,返回给浏览器。浏览器接受到之后,会跳转页面,并将sessionid发送到服务器端。
分析:
假设用户登录的过程,在登录页面输入账号密码登录成功后,在服务器把用户的账号和密码赋值给session。登录成功后,之后页面会跳转。其实这里是服务器先告诉浏览器要跳转的地址,以及通过cookie的方式(这里没有指定时间,所以浏览器关闭cookie就没了)传递session对应的sessionid。然后服务器再请求这个要跳转网页,同时带上sessionid,这样服务器就会在session中通过id找。
如果此时把浏览器关闭了,再快速的打开,然后请求页面,这时候,就不能成功获取对应的session,虽然服务器的session还没有过期,但是sessionid没有了,所以就取不到了。
使用场景:
主要用途就是登录之后的session校验。用户登录之后的页面是不能直接简单的输入地址就能访问的,是需要登录成功之后,才能访问的。所以当用户的账号密码正确的时候,创建一个session。当访问页面的时候去判断session有没有值,有值的话,那么访问,没有的话跳转到登录页面。
------------------some words----------------
1.Session 开会,会议
--------------------the end--------------------