【asp源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了asp源码-基于C#的ASP.NET程序设计 第2版 教学配套课件 作者 翁健红 主编 ch7 - 职业教育的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
第7章 内置对象与缓存 9/11基于C的
ASP.NET程序设计 幻灯片1本章目标 Application对象 Request对象 Response对象 Server对象 Cookie对象 Global.asax文件 缓存 9/11 基于C的
ASP.NET程序设计 幻灯片2内置对象 Response Request Application Session Server 9/11 基于C的
ASP.NET程序设计 幻灯片3Application对象 网站中所有的
ASP.NET程序构成了一个Web应用系统Web 站点是一个多用户的应用程序可供所有在线用户共享的信 息应放在Application对象中。
Application对象的生命周期 起始于当应用程序的第一个页面被请求时,终于站点停止 运行时。
Application 对象的读写 Application对象利用“键—值”对的字典方法来定义,其中 “键”为字符串,代表状态的“名”,“值”可以是任何类型的数 据。
Application“变量名”值 string s Application“变量名”.ToString 9/11 基于C的
ASP.NET程序设计 幻灯片4Application 对象的锁定由于Application对象是所有用户共享的,为了避免 修改时出现出现争用、死锁或访问冲突,在对 Application对象进行修改时,必须先将其锁定, 修改完之后进行解锁。
Application.Lock //锁定ApplicationApplication“变量名”值 //修改ApplicationApplication.UnLock //解锁Application【例7-1】 applicationCount.aspx 9/11基于C的
ASP.NET程序设计 幻灯片5Request对象 当客户端向服务器端发出HTTP请求时,可以通过 HTTP请求获得客户端信息。
Request是 HttpRequest类的实例,用来表示特定HTTP请求的 值和属性,其中包括所有URL参数和客户端所发 送的信息。
9/11 基于C的
ASP.NET程序设计 幻灯片6Request 对象的常用方法如下:MapPath将请求的URL中的虚拟路径映射到服务器上的物理路径SaveAs 将HTTP请求的信息储存到磁盘中【例7-2】 Request.aspx 9/11 基于C的
ASP.NET程序设计 幻灯片7Response对象 Response对象主要是输出数据到客户端, Response对象的类别名称是HttpResponse 属性 说明 BufferOutput 设置HTTP输出是否要做缓冲处理, 预设为True Cache 返回目前网页缓存的设置 Charset 设置或取得HTTP的输出字符编码 Cookies 返回目前请求的HttpCookieCollection 对象集合 IsClientConnected 返回客户端是否仍然和Server 连接 9/11 基于C的
ASP.NET程序设计 幻灯片8方法 描述BinaryWrite 将一个二进制字符串写入HTTP输出流Clear 清除缓冲区流中的所有内容输出End 将当前所有缓冲的输出发送到客户端,停止 该页的执行,并引发 Application_EndRequest事件Flush 向客户端发送当前所有缓冲的输出Redirect 将客户端重定向到新的URL页面。
Write 将信息写入HTTP输出内容流WriteFile 将指定的文件直接写入HTTP内容输出流 【例7-3】 Response_End.aspx 9/11 基于C的
ASP.NET程序设计 幻灯片9Server对象 Server对象也是Page对象的成员之一,主要提供一 些处理网页请求时所需的功能。
Server对象的对象 类别名称是HttpServerUtility 9/11 基于C的
ASP.NET程序设计 幻灯片10(1)HtmlEncode 以及 HtmlDecode 方法【例7-4】 HtmlEncode.aspx(2)UrlEncode 以及 UrlDecode 方法【例7-5】 UrlEncode.aspx(3)获取与虚拟路径或相对路径对应的实际 路径【例7-6】 MapPath.aspx 9/11 基于C的
ASP.NET程序设计 幻灯片11Cookie对象Cookie的特点Cookies将数据存放于客户端的磁盘上在Cookie中只能 含有较少量的信息,通常不超过4096个字节Cookie的读写写入数据:Response.Cookies“数据名称”.Value数据读取数据:data1Request.Cookies“数据名称”.ValueCookie的生存期如果不设置Expires属性,cookie就在当前会话结束时终 止。
我们可以在程序中自行设定有效日期,只要指定 Cookie变量的Expires属性即可。
Response.CookiesCookieName.Expires日期 9/11 基于C的
ASP.NET程序设计 幻灯片12Cookie验证的安全性在使用Cookie验证使用者时,必须要考虑到身份验 证的问题。
【例7-7】 Cookie.aspx【例7-8】 MultiValueCookies.aspx 9/11 基于C的
ASP.NET程序设计 幻灯片13Global.asax文件Global.asax就是所谓的
ASP.NET应用程序文件,它是存放在
ASP.NET应用程序的根目录,并且可用来响应
ASP.NET或 HTTP模块所引发的应用程序级事件的代码。
事件过程名称 描述 Application_Start 当web页面被第一次请求时触发 Session_start 启动会话时触发 Application_BeginReque 当请求一个页面时(刷新时) st Application_EndRequest 页面结束请求时 Session_End Session被终止时触发 Application_End 应用程序终止时触发 【例7-9】 global.asax ShowCount.aspx 9/11 基于C的
ASP.NET程序设计 幻灯片14
ASP.NET中的缓存
ASP.NET的缓存特性用于提高Web应用程序的性 能。
缓冲包括临时性地在本地硬盘上存放WEB应 用程序常用到的数据,以便于以后的使用。
9/11 基于C的
ASP.NET程序设计 幻灯片15输出型缓冲OutputCache控制指令有如下属性:Duration:该属性用于确定缓冲的到期的时间。
该属性的值 是用秒来表示的。
Location: Any Client Downstream Server None 指定输 出缓存的位置VaryByParam:根据参数缓存 Web 窗体的多个版本,使用分号分隔不同的参 数,如 “UserNamePassword”VaryByParam “none” 表示只 缓存 Web 窗体的一个版本,VaryByParam “” 表示页面 参数的任何变化都会导致缓存页面的一个新版本。
【例7-10】 cache.aspx【例7-11】 var.aspx 9/11 基于C的
ASP.NET程序设计 幻灯片16片段型缓冲 在这种类型的缓冲中,被缓冲下来的仅仅是页面的 某一特定部分的数据。
【例7-12】用户控件Data.ascx ascxCache.aspx 9/11 基于C的
ASP.NET程序设计 幻灯片17数据型缓冲 在这种类型的缓冲中,经常性的访问数据被缓冲在 服务器端的内存变量中。
这种类型的缓冲靠编程 实现。
cache类封装了数据型缓冲 例如,将应用程序中的userName变量的值储存在 Cache对象中,可以使用如下代码: Cache” userName” userName 为了检索Cache对象中的值,可以用如下代码: uname Cache”unameKey” 【例7-13】 DataCache.aspx 9/11 基于C的
ASP.NET程序设计 幻灯片18