当前位置: 移动技术网 > IT编程>开发语言>.net > 模拟Session原理

模拟Session原理

2018年10月03日  | 移动技术网IT编程  | 我要评论

电视剧康德第一保镖传奇,ドm自缚痴女,铊中毒朱令照片

session是保存在服务器端的,关于用户个人信息的一个小容器!用来保存每一个用户的关键信息!每个用户访问时候,都会创建一个sessionid,这个sessionid会保存到的cookie中。服务器根据sessionid关联到此浏览器的用户。

  那么我先建一个sessionmanager类,用来管理session

管理session的类
public class sessinmanager
{ //模拟asp.net的session原理!
private static idictionary<string, idictionary<string, object>> data = new dictionary<string, idictionary<string, object>>();
public static idictionary<string, object> getsession(string sessionid)
{
if (data.containskey(sessionid)) //此id是与浏览器密切相关的,基本上一个浏览器就一个sessionid
{ //一般保存在浏览器的cookie中。
return data[sessionid];
}
else
{
idictionary<string, object> session = new dictionary<string, object>();
data[sessionid] = session; //以传过来的sessionid创建一个dictionary。
return session;
}
}
}

 

然后在用户访问的时候产生sessionid,创建session空间。

设置,读取session
protected void page_load(object sender, eventargs e)
{
if (request.cookies["mysessionid"] == null) //在网站主页(入口)设置sessionid。
{
string sessionid = guid.newguid().tostring(); //随机产生一个id,并保存到cookie中。
response.setcookie(new httpcookie("mysessionid",sessionid));
}
}
protected void setsession_click(object sender, eventargs e)
{
string sessionid=request.cookies["mysessionid"].value; //从cookie中读取sessionid
idictionary<string, object> session = sessinmanager.getsession(sessionid);
//根据cookie中保存的sessionid访问服务端的开辟的内存空间。
session["usermessage"] = "小小鸟"
点击复制链接 与好友分享!
相关tag标签
上一篇:fck在线编辑器上传图片加入水印功能
下一篇:防止get和post方式引起的sql注入攻击asp程序
相关文章
热门专题推荐 android sdk
图文推荐
文章
推荐
点击排行

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网