收藏 分销(赏)

Application、Session和Cookie对象分析.ppt

上传人:鼓*** 文档编号:14741182 上传时间:2026-11-11 格式:PPT 页数:27 大小:609KB 下载积分:8 金币
下载 相关
Application、Session和Cookie对象分析.ppt_第1页
第1页 / 共27页
Application、Session和Cookie对象分析.ppt_第2页
第2页 / 共27页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Application、Session和Cookie对象分析,回顾,传递Form表单中的控件值用Request.Form 获取值,地址栏中传递的参数用 Request.QueryString获取,通常用HttpResponse 类的属性Buffer、Cache、Cookie 和 Expires来设置站点的一些特性,HttpResponse 类常用方法是 Write()、End()和 Redirect(),HttpServerUtility 类的Execute()和Transfer()的区别关键在于执行后控制权是否返回原先页面、URLEncode()和HTMLEncode()主要用于对HTML 标签和URL进行编码,对站点或程序的安全具有重要意思,MapPath()获取物理路径时需要注意是绝对路径还是相对路径,目标,运用Global.asax 文件,使用 Application 对象,创建并读取 Cookie,使用 Session 对象,ASP.NET中数值传递模型介绍,Global.asax 2-1,“Global.asax”,存储所有事件的事件处理程序,存储在应用程序的根目录下,它的位置定义应用程序的限界,包含所有应用程序的配置设置,Global.asax 2-2,httpApplication类,实例,事件,事件处,理程序,Global.asax,配置设置,存储于,文件,事件,说明,Application_Start,调用当前应用程序目录(或其子目录)下的第一个 ASP.NET 页面时触发。,Application_End,应用程序的最后一个会话结束时触发。用 Internet 服务管理器管理单元停止 Web 应用程序时也会触发,Application_BeginRequest,每次页面请求开始时触发(理想情况下是在页面加载或刷新时),Application_EndRequest,每次页面请求结束时(即每次在浏览器上执行页面时)触发,Session_Start,每次新的会话开始时触发,Session_End,会话结束时触发。(关于会话可以采用何种方式结束,请参见会话对象),TestingGlobal.aspx示例 4-1,protected void Application_Start(Object sender,EventArgs e),protected void Session_Start(Object sender,EventArgs e),Response.Write(“会话已开始);,protected void Application_BeginRequest(Object sender,EventArgs e),Response.Write(“应用程序开始);,Response.Write(“应用程序请求开始);,Global.asax 文件,打开代码隐藏类文件 Global.asax.cs。,将代码分别添加到 Global.asax.cs 中的各个事件中,TestingGlobal.aspx示例 4-2,protected void Application_EndRequest(Object sender,EventArgs e),Response.Write(“应用程序请求结束);,protected void Session_End(Object sender,EventArgs e),Response.Write(“会话已结束);,protected void Application_End(Object sender,EventArgs e),TestingGlobal.aspx示例 4-3,private void Page_Load(object sender,System.EventArgs e),Response.Write(“页面加载事件);,将默认 ASP.NET 页面WebForm1.aspx重命名为,TestingGlobal.aspx,,并添加给定的代码片段,TestingGlobal.aspx示例 4-4,刷新,会话尚未结束,输出结果,Application,对象存储并维护,应用程序级的数据,Application 对象,Application 状态,HttpApplicationState,方法,集合,Application 状态,由它们表示,类,Application 变量,变量用于在应用程序执行时存储数据,页面级,对象级,变量,应用程序级,会话级,string myname=“张三;,Response.Write(“欢迎 +myname);,对象级变量 3-1,protected void Application_Start(Object sender,EventArgs e),Application.Lock();,ApplicationUserNum=0;,Application.UnLock();,清零,protected void Session_Start(Object sender,EventArgs e),Response.Write(调用Session_Start:会话已开始);,Application.Lock();,ApplicationUserNum=int.Parse(ApplicationUserNum.,ToString()+1;,Application.UnLock();,增加在线人数,protected void Session_End(Object sender,EventArgs e),Response.Write(调用Session_End:会话已结束);,Application.Lock();,ApplicationUserNum=int.Parse(Application,UserNum.ToString()-1;,Application.UnLock();,减少在线人数,Global.asax文件,对象级变量 3-2,AppVariable.aspx,private void Page_Load(object sender,System.EventArgs e),/在此处放置用户代码以初始化页面,Response.Write(你是第+ApplicationUserNum.ToString(),+位访客);,对象级变量 3-3,Lock 和 Unlock 方法,Lock(),Lock(),用于防止用户更改,Application,对象的属性,Lock()可用作 Application.Lock(),UnLock(),Unlock(),方法用于释放对应用程序变量的锁定,UnLock()可用作,Application.UnLock(),向应用程序添加、更新和移除项,方法,说明,Add(),向 Application 状态添加新对象。,例如,下列代码会向应用程序状态添加项:Application.Add(“Title”,article board);或 Application(“Title”)=“Article Board”;,Clear(),从 Application 状态中移除所有对象,Remove(),从 Application 集合中按名称移除项。例如,下列代码移除 Title 项:,Application.Remove(Title),HttpApplicationState 方法,Application 对象还提供,Get(),和,Set(),方法,,可用于按名称或索引获取对象,并相应地,更新对象的值,Cookies,Cookie,在客户端系统中维护客户的个人信息,会话 Cookie,持久性 Cookie,创建和读取会话 Cookie,HttpCookie objHttpCookie=new HttpCookie(“UserName”,“张三);,Response.Cookies.Add(objHttpCookie);,新建 Cookie,将新 Cookie 添加到 Response 对象的 Cookie 集合中,创建 Cookie,读取 Cookie,Response.Write(Request.Cookies(“UserName).Value);,Value 属性将 Cookie 的值作为字符串返回,创建和读取持久性 Cookie,读取 Cookie,HttpCookie objHttpCookie=new HttpCookie(“UserName”,“张三);,objHttpCookie.Expires=DateTime.Now.AddMinutes(2);,Response.Cookies.Add(objHttpCookie);,新建 Cookie,用 Cookie 的 Expires 属性将 Cookie 的过期期限设置为两分钟,创建 Cookie,Response.Write(Request.Cookies(“UserName).Value);,Session 对象,Session 对象用于存储用户的信息,当新用户请求应用程序的网页时,Server 对象会检查用户是否有 SessionID,Session 对象包含特定于某个用户的信息,在用户会话期间可以记录和监视特定于用户的信息,当会话过期或终止时,服务器就会清除 Session 对象,优点,Session 变量,Session 变量与 application 变量不同,Session 变量仅提供给会话中的特定用户,Session 变量可用于存储在整个用户会话过程中都可以访问的值,private void btnLogin_Click(object sender,System.EventArgs e),if(this.txtName.Text.Trim()!=|this.txtPwd.Text.Trim()!=),if(this.txtName.Text=张三&this.txtPwd.Text=123456),SessionUserName=this.txtName.Text.Trim();,Response.Redirect(SessionVariableWelcome.aspx?pwd=,+this.txtPwd.Text);,else,SessionUserName=;,RegisterStartupScript(Check,alert(用户名或密码不对,请检查!);,);,else,SessionUserName=;,在SessionVariableNew.aspx.CS添加如下代码,使用示例 3-2,在SessionVariableWelcome.aspx页面,private void Page_Load(object sender,System.EventArgs e),if(SessionUserName.ToString().Trim()!=),Response.Write(alert(欢迎,+SessionUserName+光临,你的密码是:,+Requestpwd.ToString()+);,else,Response.Redirect(SessionVariableNew.aspx);,使用示例 3-3,错误登录时,正确登录时,Session事件,Session_Start,当新用户访问一个应用程序时会激活该事件,Session_End,用户退出应用程序时,就会触发 Session_End 事件,Session 属性,Session 事件,Session_Start,Session_End,属性,说明,SessionID,包含一个唯一的用户会话标识符。它用于在会话过程中跟踪用户的信息。要检索 SessionID,使用 Session.SessionID,TimeOut,设置用户超时,即它以分钟为单位指定 Session 对象在释放资源之前能够保持闲置的时间。用户可导航至另一个站点而不用关闭该应用程序。如果设定了超时属性,则无人操作的用户会话可被清除,由此释放服务器的资源。默认值为 20 分钟。可通过在 ASPX 文件中赋值来更改此设置。例如,,LCID,用于设定本地标志符.它可存储本地信息,如日期、货币和时间格式。例如 Session.LCID=0 x040C 将本地标识符设定为法国本地标识符,IsNewSession,若该会话是由当前请求创建的,该属性将返回值 true,Item,获取或设置会话值的名称,Count,获得会话状态集合中的项数,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服