欢迎来到天天文库
浏览记录
ID:40287901
大小:33.00 KB
页数:5页
时间:2019-07-30
《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方法
7、lasses.MyPage,mypage"/>PageBaseType属性指明包含页面处理程序的基类的类型和程序集。从Page导出的这个类可以自动赋予处理程序扩展的自定义方法和属性集。页面的生命周期完全识别HTTP页面处理程序类后,ASP.NET运行时将调用处理程序的ProcessRequest方法来处理请求。通常情况下,无需更改此方法的实现,因为它是由Page类提供的。此实现将从调用为页面构建控件树的FrameworkInitialize方法开始。FrameworkInitialize方法
此文档下载收益归作者所有