欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net(c#)有关 Session 操作的几个误区】,下面是详细的讲解!
asp.net(c#)有关 Session 操作的几个误区
1. this.Session["username"] = nullHttpSessionState 内部使用 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 文档或雨痕写的相关文章。
关于asp.net(c#)有关 Session 操作的几个误区的用户互动如下:
相关问题:求助高手,帮忙用C#语言实现一个简单的ASP.NET工资...
答:天下没有免费的午餐,不过我可以帮助你。 using System;using System.Collections;using System.Configuration;using Sy... >>详细
相关问题:jquery uploadify 3.1 ASP.NET (C#) 怎样解决Sessi...
答:uploadify 是AJAX用后台文件操作上传的,是aspx,还是ashx文件我记不清了,aspx的话直接后台使用session就可以了,ashx文件的话: 1、引入 命名空间: using System.Web.SessionState; 2、增加IRequiresSessionState public class AddUserInfo : ... >>详细
相关问题:asp.net(c#)如何实现关闭浏览器时消除session
答:好像不能,只能等待session超时之后。。 原因: 1:服务器端无法检测到用户对浏览器的操作,服务器端虽然有Session_End事件,但是这个事件并不是浏览器关闭的时候触发...还是要等到session超时才出发。 2:虽然JavaScript可以检测到浏览器的关闭... >>详细
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【服务器】asp.net页面状态管理cookie和服务器状
- 如何取消.net后台线程的执行
- 【WeakReference】WeakReference(弱引用)让GC需要
- 【ajax格式】asp.net中在用ajax格式传递数据到asp
- 【字符文本】asp.net 数据绑定 使用eval 时候报
- 【Repeater控件】.NET实现Repeater控件+AspNetPag
- 【客户端】获取客户端IP地址c#/vb.net各自实现代
- 【asp】asp.net上传execl文件后 在页面上加载显示
- 【JSON】浅析JSON序列化与反序列化-序列化-反序列
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
