1. this.Session["username"] = null

HttpSessionState 内部使用 NameObjectCollection 类型的集合对象来存储用户数据。因此使用 this.Session["username"] = null 仅仅是将该元素的值设为 null 而已,并没有真的将其从 Session 中移除。(为什么?晕~~~ 建议看看 C# 基础方面的书。)

正确的方法是:this.Session.Remove("username");
删除全部数据:this.Session.RemoveAll(); 或 this.Session.Clear();

2. this.Session.Abandon()

该方法会导致当前 Session 被取消,系统会触发 Global.asax 中的 Session_End 事件(仅限于 Mode = InProc 时)。
尽管再次发出请求时 SessionID (可能)没有发生变化,但是你会发现 Global.asax Session_Start 事件被触发。你还可以使用 this.Session.IsNewSession 属性来判断当前 Session 是否重新创建的。

由于某些组件和控件可能要使用 Session 信息(如使用 this.Session.SyncRoot 进行同步),因此不要轻易使用该方法清理 Session。

3. 用户身份验证

不要使用 this.Session["username"] = "ZhangSan" 、if (this.Session["username"] != null) 这样的方式进行用户身份验证,这种方式既不安全也不合理。有关身份验证请参考 MSDN 文档或雨痕写的相关文章。

转载于:https://www.cnblogs.com/chjun2000/archive/2011/07/30/2122113.html

有关 Session 操作的几个误区相关推荐

  1. C#有关Session 操作的几个误区【转】

    1. this.Session["username"] = null HttpSessionState 内部使用 NameObjectCollection 类型的集合对象来存储用户 ...

  2. php session操作类,操作Session的PHP类

    这个是一个php对session的再次包装的类,实现的常用的session操作,包含读取,写入,销毁等等 class Session { function Session() { session_st ...

  3. Flask中的session操作

    https://www.cnblogs.com/notzy/p/9187304.html 一.配置SECRET_KEY 因为flask的session是通过加密之后放到了cookie中.所以有加密就有 ...

  4. session保存密码_年薪百万之路--第六十四天 Cookie操作与session操作

    forms组件源码 切入点:form_obj.is_valid() """ def is_valid(self):"""Returns Tr ...

  5. bboss 会话管理session操作使用示例

    bboss 会话管理session操作使用示例(遵循servlet标准规范): HttpSession session = request.getSession();//request.getSess ...

  6. Flask-中session的工作机制和session操作

    1.把敏感的数据经过加密后放入session中,然后在把session存放到cookie中,下次请求的时候,再从浏览器发送过来的cookie中读取session, 然后再从session中读取敏感数据 ...

  7. php session操作

    启动 Session 会话,并创建一个 $admin 变量: <?php //  启动 Session session_start(); //  声明一个名为 admin 的变量,并赋空值. $ ...

  8. 三、通过session操作hibernate(hql语句)

    在没有将spring和hibernate整合在一起的时候,要使用hibernate,在持久层需要如下步骤: 一.在还没有对hibernate进行spring的整合的时候,我们需要写一个session工 ...

  9. 【实战篇】执行计划3种看法,2种操作,4个误区

    1五一长假 本人绝对不是 996 的崇尚者,该工作的时候,高效工作(尽管高效是自认为的):该浪的时候,疯狂得浪.正所谓学要学得尽兴,玩要玩得开心(虽然可能鲁迅没说过这话). 虽然摄影艺术不咋的,却是一 ...

最新文章

  1. 90.386(32位)的保护模式 (286是过渡24位) 91.什么是实模式
  2. 国产linux 中标麒麟安装.net core sdk
  3. 网络位置可以看到另一个人的电脑_计算机组成原理(一)- 冯·诺依曼体系结构...
  4. webase crud查看所有表_Laravel-Gii 可视化代码生成工具 CRUD +GUI
  5. Oracle行迁移和行链接
  6. python更新到哪个版本了_将Python自带版本(2.6.6)升级到2.7.9
  7. 杭电1716排列2 stl
  8. 小议C++中函数的参数的传递
  9. mysql 取出当前第几列_mysql 获取表有多少列
  10. Python 实现定时任务
  11. 怎么用软件设计班旗_设计制作:班旗设计
  12. iOS 中可能用到的数学公式(绝对值、平方、取整、正余弦)
  13. 小米数据收集利器:AgentSource
  14. python中怎么画一个机器猫_用python画机器猫--哆啦A梦,开干!
  15. 三极管自激振荡升压电路笔记
  16. 分享一个非常不错的手机定位网
  17. ThinkPHP 导入的几种方法
  18. 【全球品牌】圣经中人物的名字有哪些?
  19. 计算机应用数学 教材,计算机应用数学(第2版)
  20. Docker入门详细教程,全网最全!

热门文章

  1. 坐在宝座上圣洁羔羊 男声N重唱
  2. C 实现Mysql增量备份_window下mysql数据库增量备份实现教程
  3. 通过Class来加载输入流和文件
  4. Maven Build Lifecycle
  5. linux存储--线程与栈(十五)
  6. DPDK 报文收发流程(二十五)
  7. git status清空_Git常见命令和遇到问题的解决办法
  8. go interface转int_图解go反射实现原理
  9. dec++如何查看机器指令_机器指令到汇编再到高级编程语言!
  10. 运用RUP 4+1视图方法进行软件架构设计