C#一般处理程序中Session的简单创建和获取
果然“好记性不如烂笔头”啊,即便再简单的东西,长时间不复习,还是会忘记~~ 今天再回忆一下在C#一般处理程序中,session的使用。
Session是什么?
Session是一种缓存机制,存在于服务端,这意味着客户端传到服务端后,这个数据可以直接被保存,以后再想使用此数据的时候,就无需再次向客户端请求。不过session的生命周期默认只有20min,且当客户端浏览器关闭的时候就会消失。不过我想简单的程序也用不着去自己设置生命周期,且对于简单程序来说,session支持的时间内的会话一般也满足需求了。
session的创建
其实session在C#一般处理程序中的创建非常简单,如:我想在session域中将前端传递过来的用户手机号码存起来:
// 获取用户的手机号(web_mobile为前端传递的值)
string ser_mobile = context.Request["web_mobile"];
//将mobile存到session中
//第一种方法
context.Session["session_mobile"] = ser_mobile ;
//第二种方法
context.Session.Add("session_mobile",ser_mobile );
session的获取
//只需要一句话即可(session_mobile 为刚刚存在session中的值)
string get_mobile = context.Session["session_mobile"];
session常用到的地方就是上面所提到的,下面对其他方法做个复习(一下用变量session来代替context.Session):
session的遍历
//此方法返回值为:用于读取当前会话中的所有会话状态变量名称的枚举器 IEnumerator
session.GetEnumerator();
从session中移除数据
//删除所有的键和值
1.session.Clear();
2.session.RemoveAll();
//通过键的名称删除数据
session.Remove(string name);
//通过索引删除数据
session.RemoveAt(int index);
//还有一个结束会话的方法:
session. Abandon();
至此,在下还有两句话要说:
1.在使用session时,要注意两点:
1.1 using System.Web.SessionState;
1.2 实现 IRequiresSessionState 接口。
注意两者缺一不可,尤其是后者,因为没实现此接口,代码的JIT(即时编译)并不会报错,但就是运行的时候总会让人吃药。
2.从session中移除数据的方法有很多,但其中的差别如何呢?我在网上看到一位大佬的分享,在下才疏学浅,只好借花献佛了,有兴趣可以去看一下:
点此快速访问
https://blog.csdn.net/lowechenwen/article/details/6146495
古人学问无遗力,少壮工夫老始成。
纸上得来终觉浅,绝知此事要躬行。
欢迎各位路过的大佬批评指正~
上一篇: 二分查找法的实现(数组形式)
下一篇: python实现md5和sha1加密