易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET页面剖析(1)

在Web应用程序上下文中,ASP.NET页面会在第一次被请求时,按需被动态编译。动态编译并不是ASP.NET页面(.aspx文件)特有的,
还发生在.NET
Web服务(.asmx文件)、Web用户控件(.ascx文件)、HTTP处理程序(.ashx文件),以及其他几种ASP.NET应用程序文件(如
global.asax文件)身上。运行时管道模型负责处理输入的(incoming)HTTP数据包,使其从一个简单的特定协议有效负载转化为服务器端
ASP.NET对象——准确地说,是一个系统Page类的派生类的实例。ASP.NET中的HTTP运行库会处理页面对象,将生成的标记插入响应序列中。
处理用户代码的若干事件标志着响应序列的生成各个阶段,整个过程称为“页面的生命周期”(page life cycle)。
本章会介绍如何将.aspx页面的HTTP请求映射为页面对象、Page类的编程接口,以及如何通过页面生命周期中的事件处理控制标记的生成。
页面的调用
先让我们具体认识一下.aspx页面是如何被转化为类并编译为程序集的。特定.aspx资源的程序集的生成,分为两个步骤进行。首先,该资源文件的
源代码会被解析,根据得到的信息,从Page类(或Page的派生类)派生出相应的类。然后,动态生成的类会被编译为程序集,该程序集之后会被缓存到
ASP.NET专用的临时目录下。
只要链接的(linked).aspx源文件没有被更改,且整个应用程序没有重启,已编译的页面就一直存在。对已链接的.aspx文件的任何更改,将使相关程序集变为无效,并在该页面下一次被请求时,强制HTTP运行库创建新的程序集。
提示:编辑web.config和global.asax之类的文件会导致整个应用程序重启。在这种情况下,在某个页面被请求时,所有页面会被重新编译。如果Bin文件夹中的程序集被改动(新建或被替换),所有页面也会被重新编译。
运行机制
能够通过基于Internet信息服务(IIS)的Web服务器访问的所有资源,会按扩展名进行组织。任何来访的请求会被分配给特定的运行时进程模
块进行实际的处理。IIS上下文中能够处理Web资源的模块是Internet服务器应用程序编程接口(ISAPI)扩展——实际是普通的传统Win32
动态链接库(DLL),很像接口,通过预定义的名称和原型,向外暴露了许多API函数。IIS和ISAPI扩展会针对专用的通信协议使用这些DLL入口方
法。当IIS需要ISAPI扩展完成某项任务时,它会在是加载相应的DLL,并通过有效参数调用适当的函数。虽然ISAPI文档没有指出ISAPI为接
口,但它的确是实现了一组公共编程接口的模块。
当某个资源的请求到


相关文档:

ASP.NET的缓存

我们知道一个网站在访问量巨大的时候,如果能使用缓存技术,可以明显降低网站的访问负担,所以废话不多说,我们来看一下在ASP.NET中如何能实现缓存。
首先应该清楚的是,在ASP.NET中,有两类缓存可以使用,第一类是输出缓存,第二类是数据缓存。
输出缓存的通俗解释就是,就是我们把某个被访问的页面在用户访问时暂时生成 ......

asp.net 发邮件完整类实列

    public class ToEmial
    {
        string _to;
        string _title;
        string _content;
        string _strHost;
......

ASP.NET页面剖析(1)

在Web应用程序上下文中,ASP.NET页面会在第一次被请求时,按需被动态编译。动态编译并不是ASP.NET页面(.aspx文件)特有的,还发生在.NET Web服务(.asmx文件)、Web用户控件(.ascx文件)、HTTP处理程序(.ashx文件),以及其他几种ASP.NET应用程序文件(如global.asax文件)身上。运行时管道模型负责处理输入的(incoming)HTTP数据包 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号