ASP.NET Session简介丶特性
来源:互联网 发布:简单的数据库系统 编辑:程序博客网 时间:2024/05/22 06:39
Session简介丶特性
1.Session是一种Web会话中的常用状态之一。
3.每个客户端的Seesion在服务器端是独立存储的。
4.在整个会话过程中,只要SessionID的cookie不丢失???,都会保存Session信息的。
7.Session常用于保存登录用户的ID.
8.Session保存的数据是跨页面全局型的。
Session的使用
这里我写入一个例子,便于下面阐述。
<head runat="server"> <title></title> <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script type="text/javascript"> function getSessionClick(action) { //这个函数是为了知道哪一个提交按钮被点击 $("#hidlgc").val(""); //清空隐藏值 $("#hidlgc").val(action); //给隐藏控件赋值 } </script></head><body> <form id="form1" method="post" action="MySession.aspx"> <table> <tr> <td>账号:</td><td><input type="text" name="txtUid" /></td>` </tr> <tr> <td>密码:</td><td><input type="password" name="txtPwd" /></td> </tr> <tr> <td colspan="2"> <input type="hidden" value="" id="hidlgc" name="hidlgclick" /> <input onclick="getSessionClick('lgclick')" type="submit" value="登录" /> <input type="submit" onclick="getSessionClick('getSession')" value="获取session" /> <input type="submit" onclick="getSessionClick('backLg')" value="退出登录" /> </td> </tr> </table> </form></body>
protected void Page_Load(object sender, EventArgs e) { //把用户id写入session中 if (Request.Form["hidlgclick"] == "lgclick") { if(Request.Form["txtUid"].ToString()=="admin"&&Request.Form["txtUid"].ToString()=="admin") //判断用户登录 { Session["userName"] = Request.Form["txtUid"].ToString(); //把用户id保存到session中 Response.Write(Session["userName"].ToString()+"---点击登录"); //获取session,并写入页面 } } //获取Session if (Request.Form["hidlgclick"] == "getSession") { if (Session["userName"] != null) { Response.Write(Session["userName"].ToString() + "---点击获取session"); //获取session,并写入页面 } } //取消当前会话,相当于注销(退出登录)。 if (Request.Form["hidlgclick"] == "backLg") { Session.Abandon(); } }
<system.web> <sessionState timeout="40"></sessionState> <!---设置session的过期时间,时间以分钟为单位-->
Session原理(根据上面例子阐述)
一、session是怎么存储,提取的?
2.输入正确的账号密码,点击登录,页面就会输出 “admin --- 点击登录”
二、Session池中每个客户端的数据是怎么存储的?
1.存储在Session池中的数据是全局型的数据,可以跨页面访问,每个SessionID中只存储唯一的数据,如:首先你这样设定:session["userName"]="admin",然后你在会话还没结束 和 session还没过期的情况下,你又设定:session["userName"]="123";这样这个SessionID没变,然而Session池中的数据则被覆盖。此时session["userName"]的值就是“123”,而不是其admin。
3.输入账号密码,点击登录页面输出 “admin --- 点击登录” ,如果紧接着点击获取session按钮,则页面只输出"admin--- 点击获取session",如果页面不关闭,打开另外一个浏览器,点击获取session按钮,则页面没反应。
三丶session的声明周期与销毁
1.session存储数据计时是滚动计时方式。具体是这样的,如果你打开写入session,从写入开始,此页面如果一直没有提交操作,则默认时间是20分钟,20分钟后session被服务器自动销毁,如果有提交操作,服务器会从提交后重新计时以此类推,直至设定时间内销毁。
2.可以设置session的销毁时间。上面代码有提到。
- ASP.NET Session简介丶特性
- Session简介丶特性
- ASP.NET中Session模型简介
- (转)ASP.NET中Session模型简介
- ASP.NET中Session模型简介(转载)
- Asp.Net之Session简介及使用
- ASP.NET MVC 常用内置验证特性 简介
- Asp.net MVC3 中Session与ViewBag传值到JS简介
- .net Session模型简介
- .net Session模型简介
- ASP.NET Session Session 详解
- [ASP.NET] Session 详解
- [ASP.NET] Session 详解
- [ASP.NET] Session 详解
- [ASP.NET] Session 详解
- [ASP.NET] Session 详解
- ASP.NET] Session 详解
- [ASP.NET] Session 详解
- JAX-RS开发(三):ajax访问REST服务时的跨域问题以及jsonp解决方案
- Eclipse配置hadoop2.2.0环境
- [线段树+离线处理] hdu 4417 Super Mario
- Android 调试工具 Stetho 使用学习
- SIM卡中UCS2编码的三种格式(80,81,82)分析
- ASP.NET Session简介丶特性
- 9th NENU ACM-ICPC Contest Solving Report
- 如何加密Android apk
- 第37课时,自测
- hdu3336 Count the string(KMP应用)
- 黑马程序员 C语言 指针1
- 安卓之listview和textview争抢焦点的解决办法
- hadoop编程实例
- 使用Angular-Leaflet-directive获取select选中的值