摘要:
补充:W3svc服务负责把‘工作进程’启动起来W3svc连接工作进程、内核模块、IIS主服务的一个核心的桥梁W3svc还有一个作用就是维护应用程序池,可以设置多长时间回收,多长时间重启。再一个就是如果应用程序池出问题了,W3svc也会监控到这个东西然后剁掉再重启------------------------PreInit预初始化Init初始化InitComplete初始化完成的阶段这三个阶段整体成为‘初始化’ 阅读全文
摘要:
HttpAplicationFactory获取一个HttpApplication对象:内部:1.如果是第一次请求过来,那么就把global文件编译成一个类型。(后续请求来的,就可以直接获取这个类型)【global.asax继承HttpApplication对象】2.调用application_start()方法(在整个网站生命周期内只被调用一次,而且只是第一次请求来之前先来调用这个方法。所以这个方法只能被调用一次,一般情况下都是利用这个方法来做一些触发的工作),初始化数据3.通过HttpApplication的池子获取一个httpApplication对象(最重要)【这个地方会应用到对象池技术 阅读全文
摘要:
图解:1)浏览器:把用户的操作封装成一个请求通过socket发送到后台服务器。后台服务器:首先有个内核模块Http.sys和针对每个应用程序池都有一个请求队列。然后请求到达http.sys之后,就把请求放到相应请求的队列池子里面去。完成这些步骤后通知w3svc服务,由w3svc服务负责触发‘工作进程’,告诉工作进程已经内核当中有一个请求去取一个请求进行处理。拿到请求的报文之后,工作进程开始处理,工作进程分成两种情况:1.静态文件(读取出来直接封装成响应的报文然后返回给客户端,PS:返回给客户端这个过程不是由工作进程直接进行交互的,而是工作进程把响应报文交给http.sys内核模块,内核模块再把 阅读全文