在iis6中,http.sys是怎么到iis中的w3svc.exe(在寄进程svchost.exe中),然后到iis内部的InetInfo.exe(这个是不是可以当做iis中的过滤插件),如果是静态的就直接原路封装后返回,如果不是,通过这个(inetinfo.exe)判断的?走到进程w3wp.exe中处理,这里头分为两部分一部分是aspnet_isapi.dll,这是托管由托管到非托管的桥梁把句柄ecb传递给第二部分freamworkruntime的ISApiRuntime.ProcessRquest()方法,这个方法中通过句柄ECB创建了HttpWorkRquest对象,这个对象封装了收到的报文,然后把这个对象传递给HttpRuntime(),在这个方法中通过HttpWorkRquest封装了HttpContext对象(里头有HttpRquest类型的属性和HttpResponse类型属性,这两个类封装了收到报文和要发出去的报文的信息),最后通过对象池拿到一个HttpApplication对象,这个对象里头有23个事件(?),19个由开发人员注册,(那么通过把HttpContext传入处理HttpContext.HttpResponse中的内容就可以Socket.Send返回到iis中进而返回到http.sys进行封装(包头。。)然后传到端口通信进行通信了)而这个括号内的过程是在第8个事件中,通过反射得到的HttpHander实例在这个实例中进行方法(PR方法)调用处理的。
这个过程对不对,如果对的话asp生命周期指的是哪一部分? |