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


相关文章
|
传感器 人工智能 监控
AI自动化监测
**AI自动化监测**运用AI算法对各类对象进行实时分析,如工业生产中的故障预警、安防监控中的异常行为检测、网络安全威胁识别、环境变化监控、医疗健康跟踪及交通管理优化。其关键优点是高效、准确地处理大量数据,提升行业智能化水平。
834 5
|
存储 算法 C++
深入理解ffmpeg视频播放以及音视频同步:时间基与样本处理
深入理解ffmpeg视频播放以及音视频同步:时间基与样本处理
1288 1
|
云安全 弹性计算 负载均衡
阿里云ACP的认证值不值得考?考试题目难不难?
对于从事IT行业的人来说,想在这行做到长远的发展,就一定需要能体现自己价值的东西,能而最直观体现自己价值的东西,除了自己做过的项目,其他的就是自己持有的技能证书了。
445 0
阿里云ACP的认证值不值得考?考试题目难不难?
|
3月前
|
存储 运维 容灾
数字化投了那么多,数据中心到底该不该建?
在数字化转型浪潮下,数据中心成为企业热议话题。有人因利用率低而“滴血”,有人却借此提升效率、接单到年底。本文深入分析:数据中心究竟解决算力刚需、降低成本、掌控数据主权,但也存在运维、能耗、迭代等隐性成本。通过“四维模型”判断是否该建,企业应结合需求、成本、能力与政策,做出理性决策。建之前,先想清楚:你的业务真的需要它吗?
数字化投了那么多,数据中心到底该不该建?
基于QT实现的拷贝文件以及实时进度条(简易版)
1.基于按钮或者菜单栏的槽里去写逻辑函数(我这边用的是菜单栏),ui实现的进度条 2.创建两个对象,一个是源文件,一个是目标文件分别用getopenfileName、getsavefileName函数即可。 3.利用QFile类去实现对两个文件的创建,因为QFile中可以获取文件的属性已经读写等。 4.循环的去读取源文件中的数据,然后写入目标文件
1162 6
|
安全 项目管理 数据安全/隐私保护
|
Windows
github图床链接打开提示raw.githubusercontent.com无法访问解决
picgo上传图片不显示,到GitHub打开也不显示图片,粘贴链接访问提示“raw.githubusercontent.com无法访问”,百度搜索后修改了下hosts解决了。
1269 2
github图床链接打开提示raw.githubusercontent.com无法访问解决
|
编译器 网络虚拟化 C语言
2023年最全 Windows + VSCode 配置 OpenCV C++ 一站式开发调试环境教程
2023年最全 Windows + VSCode 配置 OpenCV C++ 一站式开发调试环境教程
3678 0
|
JavaScript
vue-router路由实现页面的跳转
该博客文章介绍了如何在Vue.js应用程序中使用Vue Router 4实现页面跳转,包括项目结构、组件定义、路由配置以及首页设置,并附有效果展示。
vue-router路由实现页面的跳转