




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CH内置对象和状态管理 回顾回顾 验证控件有哪些?每一个的作用是什么?验证控件有哪些?每一个的作用是什么? 怎样实现文件上传?怎样实现文件上传? 本章介绍本章介绍 ResponseResponse对象和对象和RequestRequest对象对象 ServerServer对象对象 ApplicationApplication和和SessionSession对象对象 CookieCookie对象对象 ViewstateViewstate对象对象 内置对象的属性与方法内置对象的属性与方法 ( (重点重点) ) Response对象对象-1 HttpResponseHttpResponse对象提供对当
2、前页面的输出流的访问,这里的对象提供对当前页面的输出流的访问,这里的 输出是指用户作为对其特定请求的响应而收到的信息集合。输出是指用户作为对其特定请求的响应而收到的信息集合。 HttpResponseHttpResponse类主要可用于:类主要可用于: 1 1、将文本写入到输出页面、将文本写入到输出页面 2 2、读取、读取/ /写入写入CookieCookie 3 3、将用户从请求页面重新定向到另一页面、将用户从请求页面重新定向到另一页面 4 4、为某种操作设置或获得输出内容的类型、为某种操作设置或获得输出内容的类型 5 5、检查客户端是否仍然与服务器相连、检查客户端是否仍然与服务器相连 Re
3、sponse对象对象-2 HttpResponseHttpResponse对象的属性对象的属性 属性名称说 明 ContentType 获得或指定响应的 HTTP 内容 (MIME) 类型为标准 MIME 类型(如 text/xml 或 image/gif)。默认的 MIME 类型是 text/html。客户端浏览器从输出流中指定的 MIME 类型获得内容的类型 Cookie用于获得 HttpResponse 对象的 Cookie 集合 Expires 指定浏览器中缓存的页面过期之前的时间(以分钟为单位) Response对象对象-3 HttpResponseHttpResponse对象的方法
4、对象的方法 方 法说 明 Write 用于向当前 HTTP 响应流写入文本,使其成为返 回页面的一部分 End停止处理至客户端的输出 Redirect将用户从请求页面重新定向或带到另一页面 使用使用Response对象对象 /str /str为输出文本为输出文本 Response.Write(string str)Response.Write(string str) /Url /Url为定向的网址为定向的网址, ,可以为本服务器,也可以为可以为本服务器,也可以为 其它服务器地址其它服务器地址 Response.Redirect(string Url)Response.Redirect(stri
5、ng Url) / /结束流输出结束流输出 Response.End() Response.End() Request对象对象-1 HttpRequestHttpRequest对象将客户端请求的信息提供给服务器对象将客户端请求的信息提供给服务器 客户端请求的信息包括下列内容:客户端请求的信息包括下列内容: 1 1、识别用户和浏览器的、识别用户和浏览器的HTTPHTTP变量。变量。 2 2、在客户端浏览器上为网站存储的、在客户端浏览器上为网站存储的CookieCookie。 3 3、作为查询字符串或网页、作为查询字符串或网页部分的部分的HTMLHTML控件值控件值 添加到添加到URLURL的值。
6、的值。 4 4、如果是安全保护的网站,有关网站安全的信息、如果是安全保护的网站,有关网站安全的信息 Request对象对象-2 HttpRequestHttpRequest对象的属性对象的属性 属性名称属性名称说说 明明 Browser 获得有关请求浏览器能力的信息 Form 获得网页中定义的窗体变量的集合 QueryString 获得以名/值对表示的 HTTP 查询字符串变量的 集合 Params 获得由以名/值对表示的 QueryString、Form、 Cookie 和 ServerVariables 组成的集合 Url返回有关当前请求的 URL 信息 Request对象对象-3 Htt
7、pRequestHttpRequest对象的方法对象的方法 方法名称方法名称说说 明明 MapPath 将请求 URL 中提到的虚拟路径映射到服务 器上资源的实际物理路径 使用使用Request对象对象 / /获取请求的浏览器获取请求的浏览器 HttpRequest.Browser.BrowserHttpRequest.Browser.Browser HttpRequest.Url /HttpRequest.Url /获取请求的获取请求的URLURL地址地址 /获取请求的获取请求的IPIP地址地址 Request.UserHostAddress Request.UserHostAddress
8、/ /通过键获取浏览器传递的参数值通过键获取浏览器传递的参数值 Request.QueryStringkey Request.QueryStringkey / /通过索引获取浏览器传递的参数值通过索引获取浏览器传递的参数值 Request.QueryStringindexRequest.QueryStringindex Server对象对象 HttpServerUtilityHttpServerUtility类包含处理类包含处理webweb请求的方法。请求的方法。 Server对象的方法对象的方法-1 ExecuteExecute方法和方法和TransferTransfer方法均会停止当前页面
9、的执行方法均会停止当前页面的执行 ,并转去执行用户在方法内指定的,并转去执行用户在方法内指定的URLURL,同时用户的会,同时用户的会 话状态和任何当前的事务处理状态都将传送给新页面话状态和任何当前的事务处理状态都将传送给新页面 表列出了这两个方法的差异。表列出了这两个方法的差异。 ExecuteTransfer URL 参数指定的页面处理完后, 控制权会返回给先前的页面或调 用此方法的页面,并且从此方法 调用后的语句继续执行 URL 参数指定的页面处理完后, 控制权不会返回给先前的页面, 也不会返回给调用此方法的页面, 并且在新页面完成执行时结束 Server对象的方法对象的方法-2 Htm
10、lEncodeHtmlEncode方法方法 : 内容原样输出内容原样输出 HtmlEncode()HtmlEncode()的语法列出如下:的语法列出如下: HtmlEncode(stringHtmlEncode(string,TextWriter):TextWriter):其中其中stringstring表示表示 要编码为要编码为HTTPHTTP的文本。的文本。 HtmlEncode(string):HtmlEncode(string):其中其中stringstring表示要编码的文本表示要编码的文本 ,而,而TextWriterTextWriter变量则用于将输出存储为变量则用于将输出存储为
11、 TextWriterTextWriter流。流。 Server对象的方法对象的方法-3 UrlEncodeUrlEncode方法方法 为了在地址中传递路径符号或者不想让用户看得出为了在地址中传递路径符号或者不想让用户看得出 超级链接的真实地址,我们采用超级链接的真实地址,我们采用UrlEncodeUrlEncode方法对要方法对要 传送的传送的URLURL进行编码进行编码 UrlEncodeUrlEncode方法的语法列出如下:方法的语法列出如下: UrlEncodeUrlEncode(stringstring): : 其中其中stringstring表示将要编码并表示将要编码并 由由HTT
12、PHTTP传送的文本。传送的文本。 UrlEncodeUrlEncode(stringstring,TextWriterTextWriter): :其中其中stringstring表示表示 将要编码并由将要编码并由HTTPHTTP传送的文本,而传送的文本,而TextWriterTextWriter对象对象 变量则用于将经过编码的输出存储为变量则用于将经过编码的输出存储为TextWriterTextWriter流流 Server对象的方法对象的方法-4 MapPathMapPath方法方法 借助于借助于MapPathMapPath方法,我们可以从虚拟路径得到方法,我们可以从虚拟路径得到WebWe
13、b资资 源(如源(如.aspx.aspx页面)的物理路径。页面)的物理路径。 MapPathMapPath方法该方法的语法如下:方法该方法的语法如下: MapPath(string path):MapPath(string path):其中其中stringstring表示表示WebWeb服务器上服务器上 的指定虚拟路径的指定虚拟路径 状态管理概述状态管理概述 状态是任何类型的能够在一段时间内保持活跃的信状态是任何类型的能够在一段时间内保持活跃的信 息。这段时期可以是整个应用程序生命周期,也可息。这段时期可以是整个应用程序生命周期,也可 以是用户使用这个应用程序的时间,或者用户浏览以是用户使用这
14、个应用程序的时间,或者用户浏览 另外一个页面之前这个页面的生命周期,等等。另外一个页面之前这个页面的生命周期,等等。 为什么不保留在数据库中。为什么不保留在数据库中。 存储状态的位置存储状态的位置 支持支持WebWeb应用程序的应用程序的HTTPHTTP协议是无状态的。所以存储状态的位置就只协议是无状态的。所以存储状态的位置就只 有两个:服务器端和客户机端有两个:服务器端和客户机端 服务器端服务器端 应用程序应用程序这种数据在应用程序的整个生命周期中都可以被所用这种数据在应用程序的整个生命周期中都可以被所用 用户访问用户访问 会话会话使状态和每个用户保持关联(比如购物篮)使状态和每个用户保持关
15、联(比如购物篮) 客户机端客户机端 视图状态视图状态保留和页面相关的数据,比如已填充的窗体字段保留和页面相关的数据,比如已填充的窗体字段 cookiecookie保存客户浏览上的任意数据保存客户浏览上的任意数据 查询字符串查询字符串在在URLURL自身的客户机和服务器之间进行值传递自身的客户机和服务器之间进行值传递 隐藏的窗体字段隐藏的窗体字段这种窗体字段中包含的数据可以被应用程序使这种窗体字段中包含的数据可以被应用程序使 用,但这些数据却无法被用户看到用,但这些数据却无法被用户看到 应用程序状态对象应用程序状态对象-1 ApplicationApplication对象是内置的对象是内置的AS
16、P.NETASP.NET对象,表示对象,表示 ASP.NETASP.NET应用程序的实例。应用程序的实例。ApplicationApplication状态由状态由 HttpApplicationStateHttpApplicationState类表示,它包括所有与应用类表示,它包括所有与应用 程序相关的方法和集合。当第一个用户请求一个程序相关的方法和集合。当第一个用户请求一个 ASP.NETASP.NET文件时,会启动应用程序并创建一个文件时,会启动应用程序并创建一个 ApplicationApplication对象。在创建对象。在创建ApplicationApplication对象后,它对象
17、后,它 就可以在整个应用程序中使用,创建的对象将持续就可以在整个应用程序中使用,创建的对象将持续 到应用程序关闭。它是应用程序级变量,所有页面到应用程序关闭。它是应用程序级变量,所有页面 都可以使用该对象都可以使用该对象 应用程序状态对象应用程序状态对象-2 以键以键/ /值对存储数据:值对存储数据: ApplicationKey=ValueApplicationKey=Value 例如:例如: Application“greeting”=”Application“greeting”=”欢迎访问我们的欢迎访问我们的 站点站点”; ; 添加方法:添加方法: Application.Add(Key
18、,Value)Application.Add(Key,Value) Application.Add(“greeting”,” Application.Add(“greeting”,”欢迎访问我们的站点欢迎访问我们的站点 ”);); 应用程序状态对象应用程序状态对象-3 在应用程序的的生命周期中,我们可以在任何时候应在应用程序的的生命周期中,我们可以在任何时候应 用程序状态,对它进行检索,改变它的值等,但是因用程序状态,对它进行检索,改变它的值等,但是因 为它可以同时被所有用户访问,所以我们必须考虑到为它可以同时被所有用户访问,所以我们必须考虑到 并发性问题。所以当我们想要改变一个值的时候,应并
19、发性问题。所以当我们想要改变一个值的时候,应 该对该变量进行锁定。为此,该对该变量进行锁定。为此,ApplicationApplication对象提供对象提供 两个方法:两个方法: Application.Lock();Application.Lock(); Application.Unlock(); Application.Unlock(); Application HttpApplicationStateHttpApplicationState类提供添加和移除类提供添加和移除ApplicationApplication状状 态项的方法。下表列出了态项的方法。下表列出了HttpApplica
20、tionStateHttpApplicationState中一些中一些 常用的方法常用的方法 方法说明 Add()向 Application 状态添加新对象。 Clear()从 Application 状态中移除所有对象 Remove()从 Application 集合中按名称移除项。 Cookie对象对象-1 CookieCookie是一小段数据(最大为是一小段数据(最大为4KB4KB),它由客户浏览),它由客户浏览 器进行保存,并在随后的每个请求中被传递到服务器进行保存,并在随后的每个请求中被传递到服务 器。器。CookieCookie可为服务器存储在浏览器上的少量信息可为服务器存储在浏览
21、器上的少量信息 。 CookieCookie的主要用途是在客户端系统中保留客户端的的主要用途是在客户端系统中保留客户端的 个人信息。个人信息。 Cookie对象对象-2 CookieCookie可分为两类:可分为两类: 会话会话CookieCookie。 持久性持久性CookieCookie。 在浏览器的处理过程中保留的在浏览器的处理过程中保留的CookieCookie称为会话称为会话CookieCookie, 这种这种CookieCookie是暂时性的,当关闭浏览器后,任何会话是暂时性的,当关闭浏览器后,任何会话 CookieCookie都会丢失。持久性都会丢失。持久性CookieCooki
22、e可以保存几个月甚至几可以保存几个月甚至几 年。年。 Cookie对象对象-3 cookiecookie的缺点的缺点 由于信息保存在客户端,信息不安全,如果用户选择禁由于信息保存在客户端,信息不安全,如果用户选择禁 用用cookiecookie,它的存储功能无法使用。,它的存储功能无法使用。 CookieCookie容量有限,最多存储容量有限,最多存储4k4k数据。数据。 对于单个网站,浏览器最多可以容纳对于单个网站,浏览器最多可以容纳2020个个cookie cookie 使用使用Cookie对象对象 / /实例化实例化CookieCookie对象,并赋值对象,并赋值 HttpCookie
23、objHttpCookie = new HttpCookie objHttpCookie = new HttpCookie(“UserName”,“HttpCookie(“UserName”,“张三张三); ); / /设置过期时间设置过期时间 objHttpCookie.Expires = DateTime.Now.AddMinutes(2);objHttpCookie.Expires = DateTime.Now.AddMinutes(2); / /添加到输出中添加到输出中 Response.Cookies.Add(objHttpCookie);Response.Cookies.Add(o
24、bjHttpCookie); 获取获取CookiesCookies中的值中的值 Request.Cookies“UserName”.ValueRequest.Cookies“UserName”.Value Session 当用户在浏览站点或者执行一些多步骤任务时,比 如填充购物篮,需要保留用户数据。 数据不能保存在单个页面中 数据必须是每个用户私有的数据必须是每个用户私有的: 数据一定不能被执行同样任务的其他用户访问。 SessionSession对象为每个用户进行数据存储,以键对象为每个用户进行数据存储,以键/ /值对值对 组合进行存储数据。组合进行存储数据。 Session Session
25、Session对象的属性对象的属性 属性说明 SessionID包含一个唯一的用户会话标识符。它用于在 整个会话过程中记录用户信息。要检索 SessionID,可使用Session.SessionID Timeout用于设置用户超时的时间。即它以分钟为单 位指定Session对象在释放资源以前能够保持 闲置的持续时间。 默认值为20分钟。我们能通过在ASPX文件中 赋值以便更改此设置。例如, IsNewSession 如果已按当前请求创建会话,那么该属性将 返回True Session会话状态对象会话状态对象-3 设置设置 SessionSession / /赋值方法赋值方法 SessionKey=ValueSessionKey=Value / /添加方法添加方法 Session.Add(Key,Value)Session.Add(Key,Valu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国盐业市场十三五规划与投资战略研究报告
- 吕梁师范高等专科学校《软件项目研发实践》2023-2024学年第二学期期末试卷
- 浙大宁波理工学院《食品分析与检验》2023-2024学年第二学期期末试卷
- 中北大学《计算机网络》2023-2024学年第二学期期末试卷
- 2025重庆市安全员-B证考试题库及答案
- 江苏农牧科技职业学院《计量经济学B》2023-2024学年第二学期期末试卷
- 辽东学院《岩石力学》2023-2024学年第二学期期末试卷
- 2025年云南省建筑安全员知识题库及答案
- 北京政法职业学院《健身一》2023-2024学年第二学期期末试卷
- 贵州盛华职业学院《三维影像设计Ⅰ》2023-2024学年第二学期期末试卷
- DL∕T 1094-2018 电力变压器用绝缘油选用导则
- 【我国农村数字普惠金融的发展问题及完善策略12000字(论文)】
- DL-T-5115-2016混凝土面板堆石坝接缝止水技术规范
- 全国川教版信息技术八年级下册第二单元第1节《设计文创作品》教学设计
- 危货押运员考试答案(题库版)
- QCT267-2023汽车切削加工零件未注公差尺寸的极限偏差
- 2022-2023学年浙江省绍兴市高一(下)期末数学试卷含答案
- 租房协议书 租房协议书范本
- GB/T 43646-2024陆生野生动物廊道设计要求
- 吊篮施工风险分级管控与隐患排查治理(汇编)
- 内蒙古呼和浩特市2023年中考历史试题(附真题答案)
评论
0/150
提交评论