欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#一般处理程序中Session的简单创建和获取

程序员文章站 2024-03-20 09:41:28
...

果然“好记性不如烂笔头”啊,即便再简单的东西,长时间不复习,还是会忘记~~ 今天再回忆一下在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

古人学问无遗力,少壮工夫老始成。
纸上得来终觉浅,绝知此事要躬行。

欢迎各位路过的大佬批评指正~