ASP.NET在IIS 5/6上的运行模型(ISAPI)

2020-12-13 02:52

阅读:503

  • l        IIS得到一个请求

    l        查询脚本映射扩展,然后把请求映射到aspnet_isapi.dll文件

    l        代码进入工作者进程(IIS5里是aspnet_wp.exe;IIS6里是w3wp.exe)

    l        .NET运行时被加载

    l        非托管代码调用IsapiRuntime.ProcessRequest()方法

    l        每一个请求调用一个IsapiWorkerRequest

    l        使用WorkerRequest调用HttpRuntime.ProcessRequest()方法

    l        通过传递进来的WorkerRequest创建一个HttpContext对象

    l         通过把上下文对象作为参数传递给HttpApplication.GetApplicationInstance(),然后调用该方法,从应用程序池中获取一个HttpApplication实例。

    l        调用HttpApplication.Init(),启动管道事件序列,钩住模块和处理器

    l        调用HttpApplicaton.ProcessRequest,开始处理请求

    l        触发管道事件

    l        调用HTTP处理器和ProcessRequest方法

    l        把返回的数据输出到管道,触发处理请求后的事件.


  • 评论


    亲,登录后才可以留言!