Application、Session和Cookie对象分析课件_第1页
Application、Session和Cookie对象分析课件_第2页
Application、Session和Cookie对象分析课件_第3页
Application、Session和Cookie对象分析课件_第4页
Application、Session和Cookie对象分析课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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.asax2-1“Global.asax”存储所有事件的事件处理程序存储在应用程序的根目录下它的位置定义应用程序的限界包含所有应用程序的配置设置Global.asax2-2httpApplication类实例事件事件处理程序Global.asax配置设置存储于文件事件说明Application_Start调用当前应用程序目录(或其子目录)下的第一个ASP.NET页面时触发。Application_End应用程序的最后一个会话结束时触发。用Internet服务管理器管理单元停止Web应用程序时也会触发Application_BeginRequest每次页面请求开始时触发(理想情况下是在页面加载或刷新时)Application_EndRequest每次页面请求结束时(即每次在浏览器上执行页面时)触发Session_Start每次新的会话开始时触发Session_End会话结束时触发。(关于会话可以采用何种方式结束,请参见会话对象)TestingGlobal.aspx示例4-1<scriptlanguage=“C#”runat=“server">protectedvoidApplication_Start(Objectsender,EventArgse) { }

protectedvoidSession_Start(Objectsender,EventArgse) { Response.Write(“会话已开始<br>"); }protectedvoidApplication_BeginRequest(Objectsender,EventArgse) { Response.Write(“<h1>应用程序开始</h1>"); Response.Write(“应用程序请求开始<br>"); }Global.asax文件打开代码隐藏类文件Global.asax.cs。将代码分别添加到Global.asax.cs中的各个事件中TestingGlobal.aspx示例4-2

protectedvoidApplication_EndRequest(Objectsender,EventArgse) { Response.Write(“应用程序请求结束<br>"); } protectedvoidSession_End(Objectsender,EventArgse) { Response.Write(“会话已结束"); }protectedvoidApplication_End(Objectsender,EventArgse) { }</script>TestingGlobal.aspx示例4-3privatevoidPage_Load(objectsender,System.EventArgse){ Response.Write(“页面加载事件<br>");}将默认ASP.NET页面‘WebForm1.aspx’重命名为‘TestingGlobal.aspx’,并添加给定的代码片段TestingGlobal.aspx示例4-4刷新会话尚未结束输出结果Application对象存储并维护应用程序级的数据Application对象Application状态HttpApplicationState方法集合Application状态由它们表示类Application变量变量用于在应用程序执行时存储数据页面级对象级变量应用程序级会话级stringmyname=“张三";Response.Write(“欢迎"+myname);对象级变量3-1protectedvoidApplication_Start(Objectsender,EventArgse){ Application.Lock(); Application["UserNum"]=0; Application.UnLock();}清零protectedvoidSession_Start(Objectsender,EventArgse){ Response.Write("调用Session_Start:会话已开始<br>"); Application.Lock(); Application["UserNum"]=int.Parse(Application["UserNum"].ToString())+1; Application.UnLock();}增加在线人数protectedvoidSession_End(Objectsender,EventArgse){Response.Write("调用Session_End:会话已结束");Application.Lock();Application["UserNum"]=int.Parse(Application["UserNum"].ToString())-1;Application.UnLock();}减少在线人数Global.asax文件对象级变量3-2AppVariable.aspxprivatevoidPage_Load(objectsender,System.EventArgse){ //在此处放置用户代码以初始化页面 Response.Write("你是第"+Application["UserNum"].ToString()+"位访客<BR>");}对象级变量3-3Lock和Unlock方法Lock()Lock()用于防止用户更改Application对象的属性Lock()可用作Application.Lock()UnLock()Unlock()方法用于释放对应用程序变量的锁定UnLock()可用作Application.UnLock()向应用程序添加、更新和移除项方法说明Add()向Application状态添加新对象。例如,下列代码会向应用程序状态添加项:Application.Add(“Title”,articleboard);或Application(“Title”)=“ArticleBoard”;Clear()从Application状态中移除所有对象Remove()从Application集合中按名称移除项。例如,下列代码移除Title项:Application.Remove("Title")HttpApplicationState方法Application对象还提供Get()和Set()方法,可用于按名称或索引获取对象,并相应地更新对象的值CookiesCookie在客户端系统中维护客户的个人信息会话Cookie持久性Cookie………创建和读取会话CookieHttpCookieobjHttpCookie=newHttpCookie(“UserName”,“张三");Response.Cookies.Add(objHttpCookie);新建Cookie将新Cookie添加到Response对象的Cookie集合中创建Cookie读取CookieResponse.Write(Request.Cookies(“UserName").Value);Value属性将Cookie的值作为字符串返回创建和读取持久性Cookie读取CookieHttpCookieobjHttpCookie=newHttpCookie(“UserName”,“张三");objHttpCookie.Expires=DateTime.Now.AddMinutes(2);Response.Cookies.Add(objHttpCookie);新建Cookie用Cookie的Expires属性将Cookie的过期期限设置为两分钟创建CookieResponse.Write(Request.Cookies(“UserName").Value);Session对象Session对象用于存储用户的信息当新用户请求应用程序的网页时,Server对象会检查用户是否有SessionIDSession对象包含特定于某个用户的信息在用户会话期间可以记录和监视特定于用户的信息当会话过期或终止时,服务器就会清除Session对象优点Session变量Session变量与application变量不同Session变量仅提供给会话中的特定用户Session变量可用于存储在整个用户会话过程中都可以访问的值

privatevoidbtnLogin_Click(objectsender,System.EventArgse){if(this.txtName.Text.Trim()!=""||this.txtPwd.Text.Trim()!=""){if(this.txtName.Text=="张三"&&this.txtPwd.Text=="123456"){

Session["UserName"]=this.txtName.Text.Trim();Response.Redirect("SessionVariableWelcome.aspx?pwd="+this.txtPwd.Text);}else{Session["UserName"]="";

RegisterStartupScript("Check","<Scriptlanguage=‘JavaScript’>alert(‘用户名或密码不对,请检查!');</Script>");}}else{Session["UserName"]="";}}在SessionVariableNew.aspx.CS添加如下代码使用示例3-2在SessionVariableWelcome.aspx页面privatevoidPage_Load(objectsender,System.EventArgse){ if(Session["UserName"].ToString().Trim()!="") { Response.Write("<Scriptlanguage=JavaScript>alert('欢迎"+Session["UserName"]+"光临,你的密码是:"+Request["pwd"].ToString()+"')</Script>"); } else { Respons

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论