




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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()获取物理路径时需要注意是绝对路径还是相对路径2目标运用Global.asax文件使用Application对象创建并读取Cookie使用Session对象3ASP.NET中数值传递模型介绍4Global.asax2-1“Global.asax”存储所有事件的事件处理程序存储在应用程序的根目录下它的位置定义应用程序的限界
包含所有应用程序的配置设置5Global.asax2-2Application类实例事件事件处理程序Global.asax配置设置存储于文件事件说明Application_Start调用当前应用程序目录(或其子目录)下的第一个ASP.NET页面时触发。Application_End应用程序的最后一个会话结束时触发。用Internet服务管理器管理单元停止Web应用程序时也会触发Application_BeginRequest每次页面请求开始时触发(理想情况下是在页面加载或刷新时)Application_EndRequest每次页面请求结束时(即每次在浏览器上执行页面时)触发Session_Start每次新的会话开始时触发Session_End会话结束时触发。(关于会话可以采用何种方式结束,请参见会话对象)6TestingGlobal.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文件打开代码隐藏类文件。将代码分别添加到
中的各个事件中7TestingGlobal.aspx示例4-2
protectedvoidApplication_EndRequest(Objectsender,EventArgse) { Response.Write(“应用程序请求结束<br>"); } protectedvoidSession_End(Objectsender,EventArgse) { Response.Write(“会话已结束"); }protectedvoidApplication_End(Objectsender,EventArgse) { }</script>8TestingGlobal.aspx示例4-3privatevoidPage_Load(objectsender,System.EventArgse){ Response.Write(“页面加载事件<br>");}将默认ASP.NET页面‘WebForm1.aspx’重命名为‘TestingGlobal.aspx’,并添加给定的代码片段9TestingGlobal.aspx示例4-4刷新会话尚未结束
输出结果10Application对象存储并维护应用程序级的数据Application对象Application状态HttpApplicationState方法集合Application状态由它们表示类11Application变量变量用于在应用程序执行时存储数据页面级对象级变量应用程序级会话级stringmyname=“张三";Response.Write(“欢迎"+myname);12对象级变量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文件13对象级变量3-2AppVariable.aspxprivatevoidPage_Load(objectsender,System.EventArgse){ //在此处放置用户代码以初始化页面 Response.Write("你是第"+Application["UserNum"].ToString()+"位访客<BR>");}14对象级变量3-315Lock和Unlock方法Lock()Lock()
用于防止用户更改Application
对象的属性
Lock()可用作Application.Lock()UnLock()Unlock()
方法用于释放对应用程序变量的锁定UnLock()可用作Application.UnLock()16向应用程序添加、更新和移除项方法说明Add()向Application状态添加新对象。例如,下列代码会向应用程序状态添加项:Application.Add(“Title”,articleboard);或Application(“Title”)=“ArticleBoard”;Clear()从Application状态中移除所有对象Remove()从Application集合中按名称移除项。例如,下列代码移除Title项:Application.Remove("Title")HttpApplicationState方法Application
对象还提供Get()和Set()
方法,可用于按名称或索引获取对象,并相应地更新对象的值17CookiesCookie在客户端系统中维护客户的个人信息会话Cookie持久性Cookie………18创建和读取会话CookieHttpCookieobjHttpCookie=newHttpCookie(“UserName”,“张三");
Response.Cookies.Add(objHttpCookie);新建Cookie将新Cookie添加到Response对象的Cookie集合中创建Cookie读取CookieResponse.Write(Request.Cookies(“UserName").Value);Value属性将Cookie的值作为字符串返回19创建和读取持久性Cookie读取CookieHttpCookieobjHttpCookie=newHttpCookie(“UserName”,“张三");objHttpCookie.Expires=DateTime.Now.AddMinutes(2);Response.Cookies.Add(objHttpCookie);新建Cookie用Cookie
的Expires
属性将Cookie的过期期限设置为两分钟创建CookieResponse.Write(Request.Cookies(“UserName").Value);20Session对象Session对象用于存储用户的信息当新用户请求应用程序的网页时,Server对象会检查用户是否有SessionIDSession对象包含特定于某个用户的信息在用户会话期间可以记录和监视特定于用户的信息当会话过期或终止时,服务器就会清除Session对象优点21Session变量Session变量与application
变量不同Session
变量仅提供给会话中的特定用户Session变量可用于存储在整个用户会话过程中都可以访问的值22
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添加如下代码23使用示例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 { Response.Redirect("SessionVariableNew.aspx"); }}24使用示例3-3错误登录时正确登录时25Session事件Session_Start当新用户访问一个应用程序时会激活该事件Session_End用户退出应用程序时,就会触发Session_End事件26Session属性Session事件Session_StartSession_End属性说明SessionID包含一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子无级速度控制器项目可行性研究报告
- PHP程序设计项目化教程课件 项目3 汇率计算器-流程控制
- 2025年生物芯片点样仪项目可行性研究报告
- 2025年玻璃圣诞吊球项目可行性研究报告
- 2025年环保型多功能电动修剪机项目可行性研究报告
- 中原科技学院《医学实验技术基础》2023-2024学年第一学期期末试卷
- 浙江特殊教育职业学院《阳台上的小花园》2023-2024学年第一学期期末试卷
- 浙江省杭州萧山回澜重点中学2025年下学期初三年级9月月考试卷物理试题试卷含解析
- 山东工艺美术学院《高级英语1》2023-2024学年第二学期期末试卷
- 四川大学《医学遗传与优生》2023-2024学年第二学期期末试卷
- 浙江省台州市2025届高三第二次教学质量评估化学试题及答案(台州二模)
- 2025至2030年中国单级悬臂式化工离心泵行业投资前景及策略咨询报告
- 【初中地理】七年级地理下册全册期末总复习(课件)-2024-2025学年七年级地理课件(人教版2024年)
- 2025年无锡南洋职业技术学院单招职业技能测试题库含答案
- 2025年东北三省三校高三一模高考英语试卷试题(含答案详解)
- 阿那亚案例详细分析
- 选煤厂安全管理制度汇编
- 部编版八年级历史(下)全册教案
- 叉车驾驶员培训手册-共89页PPT课件
- 面试无机化学研究前沿ppt课件
- 【项目申报书】神经环路的形成、功能与可塑性
评论
0/150
提交评论