ASP.NET第四章 Response、Request和Server对象

第四章

HttpResponse

1.HttpResponse 对象允许开发人员对当前页面的输出流进行访问

2.此类可用于:

从输出页面读取/写入文本

将用户重新定向到另一个页面(常用)

有条件地结束应用程序连接

设置/获取输出内容类型

检查客户端与服务器的连接状态

读取/写入 Cookie

3.常用属性:

Buffer:指定是否将 Web 窗体创建的输出存储在 IS缓存中,直到处理完当前页面中的所有服务器脚本

Cache:获得网页的缓存策略(过期时间、保密性等)

ContentType:获得或指定响应的HTTP内容(MIME)类型为标准MIME类型(如text/xml或image/gif)。默认的MIME类型是text/html。客户端浏览器从输出流中指定的MIME类型获得内容的类型

Output:启用到输出HTTP响应流的文本输出

OutputStream:启用到输出HTTP内容主体的二进制输出,并作为响应的一部分

4.常用方法:

Write:用于向当前HTTP响应流写入文本,使其成为返回页面的一部分

End:将当前所有缓冲的输出发送到客户端,停止该页的执行,并触发Application对象的EndRequest事件

Redirect:将用户从请求页面重新定向或转到另一页面

5.HttpRequest 对象封装客户端请求页面或提交表单时提供的信息。这些信息包括:

识别用户和浏览器的 HTTP 变量

在客户端浏览器上为网站存储的 Cookie

作为查询字符串或网页 <FORM> 部分的 HTML 控件值添加到 URL 的值

如果是安全保护网站,有关网站安全的信息

HttpRequest

1.常用属性

Browser:获得有关请求浏览器能力的信息

Form:获得网页中定义的窗体变量的集合

QueryString:获得以名/值对表示的HTTP查询字符串变量的集合

Params:获得由以名/值对表示的QueryString、Form、Cookie和ServerVariables组成的集合

2.常用方法

MapPath:将请求URL中提到的虚拟路径映射到服务器上资源的实际物理路径

Url:返回有关当前请求的URL信息

HttpServerUtility

方法:

HttpServerUtility 类包含处理 Web 请求的方法

1.Execute 方法和 Transfer 方法

Execute 方法和 Transfer 方法均会停止当前页面的执行,并将用户带到由此方法的参数 URL 指定的页面

Execute:URL 参数指定的页面处理完后,控制权会返回给先前的页面或调用此方法的页面,并且从此方法调用后的语句继续执行

Transfer:URL 参数指定的页面处理完后,控制权不会返回给先前的页面,一也不会返回给调用此方法的页面,并且在新页面完成执行时结束

注意:Server对象的 Transfer 方法和 Execute 方法仅用于 Web 窗体将 Transfer 方法的 preserveForm 参数为 True,可将窗体的QueryString、ViewState 等信息提供给目标窗体设置

2.URLEncode 方法

在 HTML 编码中,将文本编码成相应的 HTML 是为了在浏览器中正确地显示

如果是要求可靠的 HTTP 传输通过 URL 将编码文本从 Web 服务器传送到客户端,该怎么办?

可使用 URLEncode 方法实现此目的。它将文本编码以便于通过 HTTP 进行可靠的传输

3.MapPath 方法

Web 应用程序位于 IIS 根目录下的虚拟目录中

因此,我们请求网页时,引用称为"虚拟路径"的虚拟目录路径。但是经常需要得到 Web 服务器上的 Web 资源的实际物理路径

用 MapPath 方法,我们可从其虚拟路径得到 Web 资源(如 .aspx 页面)的物理路径

总结:

传递Form表单中的控件值用Request.Form 获取值,地址栏中传递的参数用 Request.QueryString获取

通常用HttpResponse 类的属性Buffer、Cache、Cookie 和 Expires来设置站点的一些特性

HttpResponse 类的常用方法是 Write()、End() 和 Redirect()

HttpServerUtility 类的Execute()和Transfer()的区别关键在于执行后控制权是否返回原先页面、URLEncode()和HTMLEncode()主要用于对HTML 标签和URL进行编码,对站点或程序的安全具有重要意思, MapPath()获取物理路径时需要注意是绝对路径还是相对路径

相关推荐
CsharpDev-奶豆哥2 小时前
在 ASP.NET Web 应用中解析 JSON 数据实例
后端·json·asp.net
幻想趾于现实13 小时前
C# Winform 入门(15)之制作二维码和拼接(QR)
开发语言·c#·winform
蜕变的土豆13 小时前
Visual Studio未能加载相应的Package包弹窗报错
ide·visual studio
霸道流氓气质13 小时前
Winform入门进阶企业级开发示例:http接口数据清洗转换、断线续传、mqtt数据传输实例详解(附代码资源下载)
http·c#·winform
Eiceblue17 小时前
C# 设置Excel中文本的对齐方式、换行、和旋转
开发语言·c#·excel
du fei19 小时前
C# 串口通信
开发语言·c#
要下雨了吗19 小时前
指针数组 vs 数组指针
c语言·数据结构·c++·算法·visual studio
DXM05211 天前
ArcGIS Engine开发教程--从零搭建GIS桌面应用
大数据·数据库·arcgis·c#·arcgis engine·arcgis engine开发
专注VB编程开发20年1 天前
WebView2最低支持.NET frame4.5,win7系统
c#·.net·webview2·vb.net
时光追逐者1 天前
一款基于 .NET 8 + Vue 开源的、企业级中后台权限管理系统
前端·vue.js·microsoft·开源·c#·.net·.netcore