ASPNET 页面对象模型

ASPNET 页面对象模型

ID:40287901

大小:33.00 KB

页数:5页

时间:2019-07-30

ASPNET 页面对象模型_第1页
ASPNET 页面对象模型_第2页
ASPNET 页面对象模型_第3页
ASPNET 页面对象模型_第4页
ASPNET 页面对象模型_第5页
资源描述:

《ASPNET 页面对象模型》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、适用于:Microsoft?ASP.NET摘要:了解为ASP.NETWeb页面建立的事件模型,以及Web页面转变为HTML过程中的各个阶段。ASP.NETHTTP运行时负责管理对象管道,这些对象首先将请求的URL转换成Page类的具体实例,然后再将这些实例转换成纯HTML文本。本文将探讨那些作为页面生命周期标志的事件,以及控件和页面编写者如何干预并改变标准行为。(本文包含一些指向英文站点的链接。)目录简介真正的Page类页面的生命周期执行的各个阶段小结简介对由Microsoft?Internet信息服务(IIS)处理的Microsoft?ASP.NET页面的每个请求都会被移交到

2、ASP.NETHTTP管道。HTTP管道由一系列托管对象组成,这些托管对象按顺序处理请求,并将URL转换为纯HTML文本。HTTP管道的入口是HttpRuntime类。ASP.NET结构为辅助进程中的每个AppDomain创建一个此类的实例。(请注意,辅助进程为每个当前正在运行的ASP.NET应用程序维护一个特定的AppDomain。)HttpRuntime类从内部池中获取HttpApplication对象,并安排此对象来处理请求。HTTP应用程序管理器完成的主要任务就是找到将真正处理请求的类。当请求.aspx资源时,处理程序就是页面处理程序,即从Page继承的类的实例。资源类

3、型和处理程序类型之间的关联关系存储在应用程序的配置文件中。更确切地说,默认的映射集是在machine.config文件的部分定义的。但是,应用程序可以在本地的web.config文件中自定义自己的HTTP处理程序列表。以下这一行代码就是用来为.aspx资源定义HTTP处理程序的。扩展名可以与处理程序类相关联,并且更多是与处理程序工厂类相关联。在所有情况下,负责处理请求的HttpApplication对象都会获得一个实现I

4、HttpHandler接口的对象。如果根据HTTP处理程序来解析关联的资源/类,则返回的类将直接实现接口。如果资源被绑定到处理程序工厂,则还需要额外的步骤。处理程序工厂类实现IHttpHandlerFactory接口,此接口的GetHandler方法将返回一个基于IHttpHandler的对象。HTTP运行时是如何结束这个循环并处理页面请求的?ProcessRequest方法在IHttpHandler接口中非常重要。通过对代表被请求页面的对象调用此方法,ASP.NET结构会启动将生成浏览器输出的进程。真正的Page类特定页面的HTTP处理程序类型取决于URL。首次调用URL时,

5、将构建一个新的类,这个类被动态编译为一个程序集。检查.aspx资源的分析进程的结果是类的源代码。该类被定义为命名空间ASP的组成部分,并且被赋予了一个模拟原始URL的名称。例如,如果URL的终点是page.aspx,则类的名称就是ASP.Page_aspx。不过,类的名称可以通过编程方式来控制,方法是在@Page指令中设置ClassName属性。HTTP处理程序的基类是Page。这个类定义了由所有页面处理程序共享的方法和属性的最小集合。Page类实现IHttpHandler接口。在很多情况下,实际处理程序的基类并不是Page,而是其他的类。例如,如果使用了代码分离,就会出现这种

6、情况。代码分离是一项开发技术,它可以将页面所需的代码隔离到单独的C#和MicrosoftVisualBasic?.NET类中。页面的代码是一组事件处理程序和辅助方法,这些处理程序和方法真正决定了页面的行为。可以使用标记对此代码进行内联定义,或者将其放置在外部类(代码分离类)中。代码分离类是从Page继承并使用额外的方法的类,被指定用作HTTP处理程序的基类。还有一种情况,HTTP处理程序也不是基于Page的,即在应用程序配置文件的部分中,包含了PageBaseType属性的重新定义。

7、lasses.MyPage,mypage"/>PageBaseType属性指明包含页面处理程序的基类的类型和程序集。从Page导出的这个类可以自动赋予处理程序扩展的自定义方法和属性集。页面的生命周期完全识别HTTP页面处理程序类后,ASP.NET运行时将调用处理程序的ProcessRequest方法来处理请求。通常情况下,无需更改此方法的实现,因为它是由Page类提供的。此实现将从调用为页面构建控件树的FrameworkInitialize方法开始。FrameworkInitialize方法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。