没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
全文可编辑 word 文档 页眉与背景水印可删除
1
Asp.net 的应用程序对象和页面生存周期
IIS 在 接 到 一 个 新 的 http 请 求 后 , 最 终 会 调 用
asp.net_isapi.dll 的 ISAPI 扩 展 ( 特 指 IIS6.0 环 境 ,
iis7.0 的应用程序池默认为集成方式,相对有所变化),然
后传递到 httpRuntime Pipe(http 运行时管道),Asp.Net 这
时才开始运行(即 HttpRunTime 是 Asp.Net 真正的入口),
HttpRunTime 会 为 每 个 asp.net 应 用 自 动 创 建 一 个
HttpApplication 的实例,而该实例中又包含以下属性:
注 1
Application --> 相 当 于 传 统 意 义 上 asp 时 代 的
application 对象,通常用于定义一个 asp.net 应用的全局
变量
Context -->HttpContext(上下文)类的实例【Asp.Net
新增的】
Modules -->影响当前应用程序的 HttpModule 模块集合
Request -->类似于 asp 中的 Request 对象,通常用于接
收 一 些 特 定 的 值 ( 比 如 Request.Form 或
Request.QueryString)
Response -->类似于 asp 中的 Response 对象,通常用于
向做页面输出指定内容(比如 Resonse.Write)
全文可编辑 word 文档 页眉与背景水印可删除
2
Server -->类似于 asp 中的 Server 对象,通过它能获得
一些服务端的信息(比如 Server.MapPath)
Session -->类似于 asp 中的 Session 对象
User -->用于获取用户认证相关的安全信息
从上面的属性可以发现:很多其实在 asp 年代已在使用,
只有 Context,Modules,User 这三个是 Asp.Net 新增的
HttpApplication 类除了具备"注 1"的几个属性外,还
有自己的方法,这里特别提一下 Init 方法和 Dispose 方法,
这二个方法均可重载.
它们的调用时机为:
Init 方法在 Application_Start 之后调用,而 Dispose
在 Application_End 之前调用,另外 Application_Start 在
整个 asp.net 应用的生命周期内只激发一次(比如 IIS 启动
或网站启动时),类似的 Application_End 也只有当 asp.net
应用程序关闭时被调用(比如 IIS 停止或网站停止时)
除了 Application_Start 和 Application_End 方法,
HttpApplication 还提供了以下事件:
全文可编辑 word 文档 页眉与背景水印可删除
3
这些事件包括前面提到的可重载的 Init 及 Dispose 方
法,再加上 Session 对应的 Session_Start 与 Session_End
方法,均可直接在 Global.ascx.cs 中以 Application_XXX
的形式使用(因为 Global.ascx.cs 中定义的类 Global 本身
就是继承自 HttpApplication 的)
Context:
全文可编辑 word 文档 页眉与背景水印可删除
4
所 以 我 们 几 乎 可 以 在 web 应 用 中 的 任 何 环 节 , 用
HttpContext.Current 来 引 用 到 当 前 的 上 下 文 实 例 , 从
HttpContext 的定义上,还可以发现 Context 本身的属性中,
又 可 以 得 到
Application,ApplicationInstance,Profile,Response.Re
quest...等对象的实例引用
全文可编辑 word 文档 页眉与背景水印可删除
5
回想一下:
Modules:
每一个实现了 IHttpModule 接口的类,就可以被认为是
Http 模块组件,可以理解为 http 请求拦截器,拦截到 http
请求后,它能修改正在被处理的 Context 上下文,完事儿之
后,再把控制权交还给管道,如果还有其它模块,则依次继
续处理,直到所有 Modules 集合中的 HttpModule 都“爽”
完为止(注:可怜的 http 请求就这样给各个 httpModule 轮 X
了)
asp.net2.0 默 认 内 置 了 很 多 HttpModule , 从
Machine.Config 文件中可以发现以下默认的内置模块:
注 2AnonymouseIdentification --为匿名用户分配一个
剩余23页未读,继续阅读
资源评论
mmoo_python
- 粉丝: 0
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功