1、Page 对象
1.1、Page 对象的属性和方法
Page 对象是 System.Web.UI 命名空间中 Page 类的一个实例。Page 对象是网页中所有服务器控件的容器,在 ASP.NET 中的每个页面都派生自 Page 类,并继承这个类所有公开的方法和属性。
1.1.1、Page 对象的主要属性
属性名 | 说明 |
---|
IsPostBack | 获取一个值,指示页面为第一次呈现还是回发加载 |
IsValid | 获取一个值,指示页面验证是否成功 |
说明
- IsPostBack 属性可以检查 .aspx 页是否为“回发”,常用于判断页面是否为首次加载,首次加载该值为 False
- IsValid 属性用于判断页面中所有输入的内容是否通过验证,当使用服务器端验证时通常使用该属性。
1.1.2、Page 对象的主要事件
事件名 | 说明 |
---|
PreInit | 在页面初始化时发生 |
PreLoad | 在页面 Load 事件之前发生 |
Load | 在服务器加载到 Page 对象时发生 |
Init | 当服务器控件初始化时发生 |
PreRender | 在加载控件之后,呈现之前发生 |
Unload | 当服务器控件从内存中卸载时发生 |
InitComplete | 在页面初始化完成时发生 |
LoadComplete | 在页面加载结束时发生 |
2、Response 对象
2.1、Response 对象的属性和方法
Response 对象是 HttpResponse 类的一个实例,该类主要封装来自 ASP.NET 操作的 HTTP 响应信息,可以提供对当前页的输出流访问,可以控制服务器发送给浏览器的信息,包括直接发送信息给浏览器,重新定向浏览器到另一个 URL 以及设置 Cookie 值等。
2.1.1、Response 对象的主要属性
属性名 | 说明 |
---|
Buffer | 获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送 |
BufferOutput | 获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其发送 |
Cache | 获取 Web 页的缓存策略(过期时间,保密性,变化子句) |
Charset | 获取或设置输出流的 HTTP 字符集 |
Cookie | 获取响应的 Cookie 集合 |
Expires | 获取或设置在浏览器上缓存的页过期前的分钟数 |
2.1.2、Response 对象的主要方法
方法名 | 说明 |
---|
AppendCookie() | 向响应对象的 Cookie 集合中增加一个 Cookie 对象 |
Clear() | 清空缓冲区中的所有内容输出 |
Close() | 关闭当前服务器到客户端的连接 |
End() | 终止响应,并且将缓冲区中的输出发送到客户端 |
Redirect() | 重定向当前请求 |
Write() | 将信息写入 HTTP 的响应输出流 |
WriteFile() | 将指定的文件直接写入 HTTP 的响应输出流 |
3、Request 对象
3.1、Request 对象的属性和方法
Request 对象是 System.Web.HttpRequest 类的实例,当客户请求 ASP.NET 页面时,所有的请求信息,包括请求报头,请求方法,客户端基本信息等被封装在 Request 对象中,利用 Request 对象可以读取这些请求信息。
3.1.1、Request 对象的主要属性
属性名 | 说明 |
---|
Browser | 获取有关正在请求的客户端的浏览器功能的信息 |
Cookies | 获取客户端发送的 Cookie 的集合 |
Form | 获取表单变量的集合 |
FilePath | 获取当前请求的虚拟路径 |
Param | 获取地址栏中的参数集合 |
QueryString | 获取 HTTP 查询字符串变量集合 |
UserHostAddress | 获取远程客户端的 IP 主机地址 |
Url | 获取有关当前请求的 URL 信息 |
UserHostName | 获取远程客户端的 DNS 名称 |
3.1.2、Request 对象的主要方法
方法名 | 说明 |
---|
BinaryRead() | 执行对当前输入流进行指定字节数的二进制读取 |
MapPath() | 将请求 URL 中的虚拟路径映射到服务器上的物理路径 |
SaveAs() | 将 HTTP 请求保存到文件中 |
4、Server 对象
4.1、Server 对象的属性和方法
Server 对象是 HttpServerUtility 类的一个实例,提供一些对服务器的属性和方法的访问功能,可以处理页面请求时所需的功能,如建立 COM 对象,字符串的编译码等工作。
4.1.1、Server 对象的主要属性
属性名 | 说明 |
---|
MachineName | 获取服务器的名称 |
ScriptTimeOut | 获取或设置请求的超时值(s) |
4.1.2、Server 对象的主要方法
方法名 | 说明 |
---|
Execute() | 执行指定的资源,并且在执行完之后再执行本页的代码 |
HtmlDecode() | 对 HTML 编码的字符串进行解码 |
HtmlEncode() | 对要在浏览器中显示的字符串进行 HTML 编码 |
MapPath() | 获取指定相对路径在服务器上的物理路径 |
Transfer() | 停止执行当前程序,执行指定的资源 |
UrlDecode() | 对已被编码的 URL 字符串进行解码 |
UrlEncode() | 将代表 URL 的字符串进行编码,以便通过 URL 从 Web 服务器到客户端进行可靠的 HTTP 传输 |
5、Application 对象
5.1、Application 对象的属性和方法
Application 对象是 HttpApplicationState 类的一个实例,可以在多个请求,连接之间共享公用信息,也可以在各个请求连接之间充当信息传递的管道,使用 Application 对象保存希望传递的变量。由于在整个应用程序生存周期中 Application 对象都是有效的,所以在不同的页面中都可以对它进行存取。
5.1.1、Application 对象的主要属性
属性名 | 说明 |
---|
AllKeys | 获取 HttpApplicationState 集合中的访问键 |
Count | 获取 HttpApplicationState 集合中的对象数 |
5.1.2、Application 对象的主要方法
方法名 | 说明 |
---|
Add() | 新增一个新的 Application 对象变量 |
Clear() | 清除全部的 Application 对象变量 |
GetKey() | 按索引关键字获取变量名称 |
Get() | 按索引关键字或变量名称得到变量值 |
Remove() | 按变量名称删除一个 Application 对象 |
RemoveAt() | 按索引名称删除一个 Application 对象 |
RemoveAll() | 删除所有 Application 对象 |
Lock() | 锁定全部的 Application 变量 |
Set() | 使用变量名更新一个 Application 对象变量的内容 |
Unlock() | 解除锁定的 Application 变量 |
6、Session 对象
6.1、Session 对象的属性和方法
Session 对象是 HttpSessionState 的一个实例,该类为当前用户会话提供信息,可用于存储会话范围内的信息,以及管理会话。Session 对象的变量只是对一个用户有效,不同用户的会话信息用不同的 Session 对象变量存储。在网络环境下,Session 对象的变量是有生命周期的,如果在规定的时间没有对 Session 对象的变量刷新,系统会终止这些变量。
当用户第一次请求给定的应用程序中的 .aspx 文件时,ASP.NET 将生成一个 SessionID。SessionID 是由复杂算法生成的号码,它唯一标识每个用户会话。在新会话开始时,服务器将 SessionID 作为一个 cookie 存储在用户的 Web 浏览器中。
6.1.1、Session 对象的主要属性
属性名 | 说明 |
---|
Count | 获取会话状态集合中 Session 对象的个数 |
TimeOut | 获取或设置在会话状态提供程序终止会话之前各请求之间所允许的超时期限(以分钟为单位) |
SessionID | 获取用于标识会话的唯一会话 ID |
6.1.2、Session 对象的主要方法
方法名 | 说明 |
---|
Add() | 新增一个 Session 对象变量 |
Clear() | 清除全部的 Session 对象变量 |
CopyTo() | 将 Session 对象复制到一维数组中 |
Get() | 按索引关键字或变量名称得到变量值 |
Remove() | 按变量名称删除一个 Session 对象 |
RemoveAt() | 按索引名称删除一个 Session 对象 |
RemoveAll() | 删除所有 Session 对象 |
7、Cookie 对象
7.1、Cookie 对象的属性和方法
Cookie 对象是 HttpCookie 类的对象,是保存在客户端的一小段文本信息(4KB左右),可以保存少量数据,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息。
Cookie 对象跟 Session,Application 类似,也用来保存相关信息,但 Cookie 和其他对象的最大不同是 Cookie 将信息保存在客户端,而 Session 和 Application 是保存在服务器端。无论何时用户连接到服务器,Web 站点都可以访问 Cookie 信息,既方便用户的使用,也方便网站对用户的管理。
可以通过 HttpRequest 的 Cookies 集合访问客户端的 Cookie 文件,通过 HttpResponse 的 Cookies 集合创建新的 Cookie 文件传输保存到客户端。
7.1.1、Cookie 对象的主要属性
属性名 | 说明 |
---|
Name | 获取话设置 Cookie 的名称 |
Value | 获取话设置 Cookie 的 Value |
Values | 获取在单个 Cookie 对象中包含的键值对的集合 |
Expires | 获取话设置 Cookie 的过期日期和时间 |
Version | 获取话设置 Cookie 符合的 HTTP 状态维护版本 |
7.1.2、Cookie 对象的主要方法
方法名 | 说明 |
---|
Add() | 新增一个 Cookie 变量 |
Clear() | 清除 Cookie 集合内的变量 |
Get() | 通过索引或变量名得到 Cookie 的变量值 |
GetKey() | 以索引值获取 Cookie 的变量名称 |
Remove() | 通过 Cookie 变量名删除 Cookie 变量 |
8、全局应用程序类 Global.asax 文件
Global.asax 文件也称为 ASP.NET 应用程序文件,位于应用程序根目录下,是一个可选文件,提供了一种响应应用程序级事件的方法。ASP.NET 页面框架能够自动识别出对 Global.asax 文件所做的任何更改,在 Global.asax 被更改后 ASP.NET 页面框架会重新启动应用程序,关闭所有的浏览器会话,去除所有状态信息,并重新启动应用程序域。
8.1、Global.asax 中处理的事件
事件名 | 说明 |
---|
Application_Start | 在应用程序(网站)第一次运行时触发执行 |
Session_Start | 在每个会话第一次访问应用程序时触发执行 |
Application_Error | 在应用程序的用户抛出一个错误时触发。它适合于提供应用程序级的错误处理,或者把错误记录到服务器的事件日志中 |
Session_End | 在会话超时,失效时触发执行 |
Application_End | 在应用程序(网站)结束时触发。因为 ASP.NET 内有很好的垃圾处理机制,可以有效地完成关闭和清理剩余对象的任务,所以通常该事件使用较少 |
8.2、Global.asax 文件基本模板代码
using System;
namespace CMS
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
}
protected void Application_End(object sender, EventArgs e)
{
}
protected void Application_Error(object sender, EventArgs e)
{
}
protected void Session_Start(object sender, EventArgs e)
{
}
protected void Session_End(object sender, EventArgs e)
{
}
}
}