session

简介: session

什么是session:

       HTTP是一种无状态协议,它不能通过页面和客户端保持连接。Session提供了一个在服务器端保存信息的方案。他能支持任何类型对象和用户对象信息作为对象保存起来。Session为每一个客户端都独立地保存,这意味着Session数据存储着每个客户端的基础信息。

       Session是作为ASP一共内建了7个对象,有Session、Application、Cookie、Response、Request、Server等。Session是保存在服务器端的用户变量。

 

用在什么场景:

   可以在一个页面中对Session进行值,然后在另一个页面里访问它。

 

如何给session赋值(初始化):

第一种方法:

intuserId = 12345678;

string userName ="test";

string userPwd ="e10adc3949ba59abbe56e057f20f883e"

 

Session["userId"]= userId;

Session["userName"]= userName;

Session["userPwd"]= userPwd;

 

或者是使用Session的Add方法:

 

Session.Add("userId",userId);

Session.Add("userName",userName);

Session.Add("userPwd",userPwd);

 

 

如何获取session值:

lblUserName.text=Session["UserName"].tostring();

List<User>userList=(List<User>)Session["User"];//强制类型转换

 

如何对session判空:

获取session值赋值给其他变量之前,应该先判空,否则会报错。

我们已经知道session["UserName"]的数据类型是object。所以判空语句用if(Session["UserName"] ==null)来进行。

 

session失效时间设置:

   在web.config中设置sessionState

   

session是否可用设置:

   在.aspx页面中设置session失效时间是否可用。


session优缺点:

优点是:

1、能在整个应用中帮助维护用户状态和数据。

2、能让我们简单地实现存储任何类型的对象。

3、独立地保存客户端数据。

4、对于用户来说,Session是安全的、透明的。

缺点是:session会消耗服务器的内存资源,用户量大会影响性能。

 

session使用原理:

   在发出请求的时候,服务器会生成一个理论上唯一的sessionID,一同响应到客户端,并用Cookie临时保存,当再发出请求时,再将此id一并发送到服务器,服务器会较此id是否在服务器上存在,如果存在说明不是第一次请求,否则,再创建一个session。

      目前对原理还不太明白,先做做例子,再来说原理吧。

 

推荐两个 session 学习资料:

ASP.NET SessionState:https://www.youtube.com/watch?v=Zg1P97J12Rk

ASP.NET中的Session怎么正确使用:http://www.cr173.com/html/24780_1.html


相关文章
|
1月前
|
存储 开发者
Session 使用详解
Session 使用详解
29 1
|
4月前
|
存储 NoSQL Java
什么是Cookie与Session之Session详解
什么是Cookie与Session之Session详解
39 0
|
6月前
|
存储 安全 NoSQL
97 # session
97 # session
18 0
|
4月前
|
存储
|
10月前
|
存储 应用服务中间件
Session浅谈
Session浅谈
48 0
|
存储 网络协议
session
session
85 0
|
存储 SQL 开发框架
关于Session你需要了解这些
各种web框架早已考虑到这个问题,比如asp.net,是支持通过配置文件修改session的存储介质为sql server的,所有机器的会话数据都从同一个数据库读,就不会存在不一致的问题;
172 0
|
SQL Oracle 关系型数据库