zoukankan      html  css  js  c++  java
  • ASP.NET页面运行机制以及请求处理流程

    IIS自身是不能处理像ASPX扩展名这样的页面,只能直接请求像HTML这样的静态文件,之所以能处理ASPX这样扩展名的页面,是因为IIS有一个ISAPI过滤器,它是一个COM组件。ASP.NET服务在注册到IIS的时候,就会添加一个Win32的扩展动态库aspnet_isapi.dll。并将扩展可以处理的页面扩展名(如ASPX)注册到IIS里面。扩展启动后,就根据定义好的方式来处理IIS所不能处理的页面。

    当客户端请求一个服务器资源时,这个HTTP请求会被inetinfo.exe进程截获(www服务),然后Check请求资源的类型,并依据资源映射信息(存储在IIS元库中,一种IIS专用的配置数据库)将请求的资源分配给特定的处理程序模块。若请求的是静态资源(img,text,html等)则由IIS处理(IIS在本地Web Server上访问请求的文件),将内容输出到控制台,发出请求的浏览器就能接收到它了。若需要在服务器端处理的请求,则会被传到已注册的扩展模块中,aspx请求会被分配给aspnet_isapi.dll,让这个程序开始处理代码,生成标准的HTML代码,然后将这些HTML加入到原有的HTML中,最后把完整的HTML返回给IIS,IIS再把内容发送到客户浏览器。


    1.IIS接收到客户请求

    2. IIS把请求交给aspnet_isapi.dll处理

    3.(如果是第一次运行程序)装载bin目录中的dll

    4.(如果是第一次运行程序)读取各级webconfig中的配置

    5.(如果是第一次运行程序)编译装载global.asax,初始化HttpApplication实例

    6.创建响应请求的HttpContext

    7.创建承载响应结果的HttpTextWriter

    8.找到合适的HttpHandler(asp.net页面),处理http请求

    9.处理session,异常

    10.把处理结果反馈个客户 这就是可定制的HttpModule

  • 相关阅读:
    Solution SQL Server 2008 Configuration Manager Cannot open problem.
    Grant, Revoke, Deny
    Solution: 无法察看SQL Server 数据库属性 错误: "There is no row at position 0. (System.Data)"
    SQL SMO 学习
    恢复误删的桌面 回收站
    SQL Server Security Understanding.
    SQL Server 中的 Schema, User, Login, Role
    形而上学 辩证法
    文档归档的配置发送
    无法从服务器加载工作流操作
  • 原文地址:https://www.cnblogs.com/tearer/p/2082821.html
Copyright © 2011-2022 走看看