zoukankan      html  css  js  c++  java
  • ASP.NET页面剖析

    ASP.NET页面会在第一次请求时动态编译。ASP.NET中的很多文件类型都有动态编译的特性。 运行时管道负责处理输入的HTTP数据包,并转化成服务器端得ASP.NET中的对象,一个系统Page类的派生类。ASP.NET中HTTP运行库会处理页面实类,并相应请求。处理页面代码的 若干事件标志着相应序列的各个生成阶段,整个过程称为“页面的生命周期”。

    ASP.NET中的页面是怎么转化为类并编译为程序集的?

    1、页面文件会被解析,从Page类派生出相应的实例。

    2、对应的实例会被编译成程序集,并缓存到ASP.NET专用的临时目录中。

    3、页面文件没有改动,程序没有重启,Bin文件夹没有改动,已编译的页面就会一直存在。

    运行机制

    当某请求到达时,IIS会先判断请求的资源类型。静态的资源直接由IIS处理,不用其他模块。需要处理的请求委托给已注册的模块中。当资源与可执行代码关联,IIS会将请求交给 可执行的代码做进一步的处理。 被请求的页面 每一个引用ASPX资源的请求会被映射到Page的派生类。ASP.NET HTTP运行时环境首先会确定请求的类名。页面的URL和类名联系在一起。为处理页面,ASP.NET运行库需要获得页面 实类的引用,随后HTTP运行时环境通过公共接口IHttpHandler来调用该类。根类Page实现这个接口,包含ProcessRequest方法和Boolean类型的IsReusable属性。HTTP运行库获得页 面的实例引用后会调用ProcessRequest公共方法。调用并执行ProcessRequest方法及所触发事件的整个过程统称为“页面的生命周期”。 ASP.NET运行库是页面服务的,ASP.NET工作线程会将任何输入的请求交给HTTP管线。

    ASP.NET页面处理主要有两大步:

    1、输入的请求交给HTTP管线生成页面实类。

    2、HTTP运行时环境引用页面实类作出响应。

  • 相关阅读:
    【loj2639】[Tjoi2017]不勤劳的图书管理员
    【bzoj3514】Codechef MARCH14 GERALD07加强版
    BZOJ1002【FJOI2007】轮状病毒
    数论基础(附加例题)
    表达式总结
    背包
    hdu1027
    hdu1026
    hdu1025
    hdu1024
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2565273.html
Copyright © 2011-2022 走看看