zoukankan      html  css  js  c++  java
  • ASP.NET简单运行原理

    如图所示:

    1.一个ASP.NET的应用程序是开始于IIS.

    2.IIS检测如果是ASP.NET应用程序会将控制权传递给ISAPI,名叫ASPNET_ISAIP.DLL的文件

    3.ISAPI接受到处理请求时,启动一个ASP.NET工作进程。并且将控制权传递给ASPNET_WP.EXE文件

    4.ASPNET_WP就会建立一个APPDOMAIN,并且将被请求的ASP.NET应用所需的Assembly(就是那些DLL,例如System.Web.DLL等)载入到APPDOMAIN中,ASPNET_WP不光负责建立APPDOMAIN,如果已经存在的话,就直接使用已经存在的,另外,它在APPDOMAIN建立后,还会将请求转发至对应的APPDOMAIN中的ISAPIRuntime对象。(Isapiruntime对象是APPDOMAIN的一部分)。ISAPIRUNTIME专门负责解出请求的必要信息,它将信息和请求转交给HttpRuntime。这里,需要说明的是IsapiRuntime是一个类,它的全称是System.Web.Hosting.ISAPIRuntime,而HttpRuntime也是一个类,它的全称是System.Web.HttpRuntime。因此,可以说,这两个对象是APPDOMAIN运行环境的一部分,在ASPNET_WP建立APPDOMAIN的同时,也会作为运行环境来建立这两个对象.

    5.当APPDOMAIN初始化完成后,接下来就需要建立会话了吧,因此,请求由HttpRuntime来接受,HttpRunTime主要的工作便是为每一个提出请求的客户建立一个HttpContext对象.每一个访问者有各自的HttpContext对象和HttpSession对象,这些对象,你可以在.NET FRAMEWORK库中找到对应的类名,像System.Web.HttpContext,System.Web.HttpSessionState等.HttpRuntime负责创建HttpContext和HttpSession,httpContext负责管理httpSession。HttpRuntime除了创建上面的对象外,还要创建HttpApplication.至于创建Application对象的过程,是比较复杂的.

    6.接下来请求控制权交给HttpApplication, HttpApplication调用ProcessRequest方法来处理用户请求,此方法会调用对应的HttpHandler来处理用户请求,HttpHandler根据用户请求的文件的扩展名处理请求,并把请求的结果,也就是HTML发送到客户浏览器

  • 相关阅读:
    总结的git操作命令小抄集
    两种方式实现压缩文件或文件夹
    eclipse 中执行 main 函数如何添加参数
    alert()、confirm()和prompt()的区别与用法
    阿里某安全工程师写的明星代码
    在 Linux 环境下报错 java.lang.reflect.InvocationTargetException
    MyBatis学习-SQL 符号篇
    初识IP基础分类、CIDR
    Snort
    Dshell----开源攻击分析框架
  • 原文地址:https://www.cnblogs.com/michaelShao/p/1672789.html
Copyright © 2011-2022 走看看