Session

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--------------------

原文地址:https://www.cnblogs.com/MzwCat/p/8481471.html