第13章内置对象,应用程序配置和缓存

上传人:xzh****18 文档编号:46621287 上传时间:2018-06-27 格式:PDF 页数:24 大小:800.33KB
返回 下载 相关 举报
第13章内置对象,应用程序配置和缓存_第1页
第1页 / 共24页
第13章内置对象,应用程序配置和缓存_第2页
第2页 / 共24页
第13章内置对象,应用程序配置和缓存_第3页
第3页 / 共24页
第13章内置对象,应用程序配置和缓存_第4页
第4页 / 共24页
第13章内置对象,应用程序配置和缓存_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《第13章内置对象,应用程序配置和缓存》由会员分享,可在线阅读,更多相关《第13章内置对象,应用程序配置和缓存(24页珍藏版)》请在金锄头文库上搜索。

1、 第 13 章 ASP.NET 内置对象,应用程序配置和缓存 Web 应用程序在传统的意义上来说是无状态的,Web 应用不能像 Win Form 那样维持客户端状态, 所以在 Web 应用中,通常需要使用内置对象进行客户端状态的保存。这些内置对象能够为 Web 应用程 序的开发提供设置,配置以及检索等功能。 13.1 ASP.NET 内置对象 在 ASP 的开发中,这些内置对象已经存在,这些内置对象包括 Response、Request、Application 等, 虽然 ASP 是一个可以称得上是“过时的”技术,但是在 ASP.NET 开发人员中依旧可以使用这些对象。 这些对象不仅能够获取页

2、面传递的参数,某些对象还可以保存用户的信息,如 Cookie、Session 等。 13.1.1 Request 传递请求对象 Request 对象是 HttpRequest 类的一个实例,Request 对象用于读取客户端在 Web 请求期间发送的 HTTP 值。Request 对象常用的属性如下所示。 QueryString:获取 HTTP 查询字符串变量的集合。 Path:获取当前请求的虚拟路径。 UserHostAddress:获取远程客户端 IP 主机的地址。 Browser:获取有关正在请求的客户端的浏览器功能的信息。 1QueryString:请求参数:请求参数 QueryStr

3、ing 属性是用来获取 HTTP 查询字符串变量的集合,通过 QueryString 属性能够获取页面传 递的参数。在超链接中,往往需要从一个页面跳转到另外一个页面,跳转的页面需要获取 HTTP 的值来 进行相应的操作,例如新闻页面的 news.aspx?id=1。为了获取传递过来的 id 的值,则可以使用 Request 的 QueryString 属性,示例代码如下所示。 protected void Page_Load(object sender, EventArgs e) if (!String.IsNullOrEmpty(Request.QueryString“id“) /如果传递的

4、 ID 值不为空 Label1.Text = Request.QueryString“id“; /将传递的值赋予标签中 else Label1.Text = “没有传递的值“; /提示没有传递的值 if (!String.IsNullOrEmpty(Request.QueryString“type“) /如果传递的 TYPE 值不为空 Label2.Text = Request.QueryString“type“; /获取传递的 TYPE 值 else 343 Label2.Text = “没有传递的值“; /无值时进行相应的编码 上述代码使用 Request 的 QueryString 属性

5、来接受传递的 HTTP 的值,当通过访问页面路径为 “http:/localhost:29867/Default.aspx”时,默认传递的参数为空,因为其路径中没有对参数的访问。而当 访问的页面路径为“http:/localhost:29867/Default.aspx?id=1 /获取请求路径 当在应用程序开发中使用 Request.Path.ToString()时,就能够获取当前正在被请求的文件的虚拟路径 的值,当需要对相应的文件进行操作时,可以使用 Request.Path 的信息进行判断。 3UserHostAddress:获取:获取 IP 记录记录 通过使用 UserHostAddr

6、ess 的方法,可以获取远程客户端 IP 主机的地址,示例代码如下所示。 Label4.Text = Request.UserHostAddress; /获取客户端 IP 在客户端主机 IP 统计和判断中,可以使用 Request.UserHostAddress 进行 IP 统计和判断。在有些系 统中,需要对来访的 IP 进行筛选,使用 Request.UserHostAddress 就能够轻松的判断用户 IP 并进行筛选 操作。 4Browser:获取浏览器信息:获取浏览器信息 通过使用 Browser 的方法,可以判断正在浏览网站的客户端的浏览器的版本,以及浏览器的一些信 息,示例代码如下

7、所示。 Label5.Text = Request.Browser.Type.ToString(); /获取浏览器信息 这些属性能够获取服务器和客户端的相应信息,也可以通过“?”号进行 HTTP 的值的传递和获取, 上述代码运行结果如图 13-1 所示。 图 13-1 Request 对象 Request 不仅包括这些常用的属性,还包括其他属性,例如用于获取当前目录在服务器虚拟主机中 的绝对路径(如 ApplicationPath)。另外,开发人员也可是使用 Request 中的 Form 属性进行页面中窗体 的值集合的获取。 344 13.1.2 Response 请求响应对象 Respon

8、se对象是HttpResponse 类的一个实例。 HttpResponse 类用户封装页面操作的 HTTP 响应信息。 Response 对象的常用属性如下所示。 BufferOutput:获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页面之后将其发 送。 Cache:获取 Web 页面的缓存策略。 Charset:获取或设置输出流的 HTTP 字符集类型。 IsClientConnected:获取一个值,通过该值指示客户端是否仍连接在服务器上。 ContentEncoding:获取或设置输出流的 HTTP 字符集。 TrySkipIisCustomErrors:获取或设置一个值,

9、指定是否支持 IIS 7.0 自定义错误输出。 1Response 常用属性常用属性 BufferOutput 的默认属性为 True。当页面被加载时,要输出到客户端的数据都暂时存储在服务器的 缓冲期内并等待页面所有事件程序,以及所有的页面对象全部被浏览器解释完毕后,才将所有在缓冲区 中的数据发送到客户端浏览器,示例代码如下所示。 protected void Page_Load(object sender, EventArgs e) Response.Write(“缓冲区清除前.“); /输出缓冲区清除 上述代码在 cs 文件中重写了 Page_Load 事件,该事件用于中向浏览器输出一行字

10、符串“缓冲区清 除前”。在 ASPX 页面中,可以为页面增加代码以判断缓冲区的执行时间,示例代码如下所示。 /输出字符串 上述代码在页面中插入了一段代码,并输出字符串“缓冲区被清除”。在运行该页面时,数据已经 存放在缓冲区中。然后 IIS 才开始读取 HTML 组件的部分,读取完毕后才将结果送至客户端浏览器,所 以在运行结果中可以发现,“缓冲期清除前”是在“缓冲区被清除”字符串之前出现,如图 13-2 所示。 图 13-2 BufferOutput 因为 BufferOutput 属性默认为 true,所以上述代码并无法看到明显的区别,当在浏览器输出前清除345 缓冲区时,则可以看出区别。示例

11、代码如下所示。 Response.Write(“缓冲区清除前.“); Response.Clear(); /清除缓冲区 当使用 Response 的 Clear 方法时,缓冲区就被显式的清除了。在运行后,“缓冲区清除前”字符串 被清除,并不会呈现给浏览器。当需要屏蔽 Clear 方法对缓冲区的数据清除,则可以指定 BufferOutput 的属性为 False,示例代码如下所示。 Response.BufferOutput = false; /设置缓冲区属性 Response.Write(“缓冲区清除前.“); /设置清除前字符 Response.Clear(); /清除缓冲区 使用上述代码将

12、指定 BufferOutput 的属性为 False,在运行时缓冲区数据不会被 Clear 方法清除。 2Response 常用方法常用方法 Response 方法可以输出 HTML 流到客户端,其中包括发送信息到客户端和客户端 URL 重定向,不 仅如此,Response 还可以设置 Cookie 的值以保存客户端信息。Response 的常用方法如下所示: Write:向客户端发送指定的 HTTP 流。 End:停止页面的执行并输出相应的结果。 Clear:清除页面缓冲区中的数据。 Flush:将页面缓冲区中的数据立即显示。 Redirect:客户端浏览器的 URL 地址重定向。 在 Re

13、sponse 的常用方法中,Write 方法是最常用的方法,Write 能够向客户端发送指定的 HTTP 流, 并呈现给客户端浏览器,示例代码如下所示。 Response.Write(“这是一串HTML流“); 上述代码则会向浏览器输出一串 HTML 流并被浏览器解析,如图 13-3 所示。 图 13-3 Response.Write 方法 当希望在 Response 对象运行时,能够中途进行停止时,则可以使用 End 方法对页面的执行过程进 行停止,示例代码如下所示。 for (int i=0; i “); /i 上述代码运行后如图 13-5 和图 13-6 所示。 图 13-5 登录前 图

14、 13-6 登录后 当再次单击【注销】按钮时则会清空 Session 对象,再次返回登录窗口时会呈现同图 13-5 所示。 13.1.5 Server 服务对象 Server 对象是 HttpServerUtility 的一个实例,该对象提供对服务器上的方法和属性进行访问。 1Server 对象的常用属性对象的常用属性 Server 对象的常用属性如下所示。 MachineName:获取远程服务器的名称。 ScriptTimeout:获取和设置请求超时。 通过 Server 对象能够获取远程服务器的信息,示例代码如下所示。 protected void Page_Load(object sen

15、der, EventArgs e) Response.Write(Server.MachineName); /输出服务器信息 上述代码运行后将会输出服务器名称,本例输出为“WIN-YXDGNGPG621”,这个输出结果根据 服务器的名称不同而不同。 2Server 对象的常用方法对象的常用方法 Server 对象的常用方法如下所示。 CreatObject:创建 COM 对象的一个服务器实例。 Execute:使用另一个页面执行当前请求。 Transfer:终止当前页面的执行,并为当前请求开始执行新页面。 HtmlDecode:对已被编码的消除 Html 无效字符的字符串进行解码。 HtmlEncode:对要在浏览器中显示的字符串进行编码。 MapPath:返回与 Web 服务器上的执行虚拟路径相对应的物理文件路径。 UrlDecode:对字符串进行解码,该字符串为了进行 HTTP 传输而进行编码并在 URL 中发送到 服务器。 UrlEncode:编码字符串,以便通过 URL 从 Web 服务器到客户端浏览器的字符串传输。 350 在 ASP.NET 中,默认编码是 UTF-8,所以在使用 Session 和 Cookie 对象保存中文字符或者其他字 符集时经常会

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号