zoukankan      html  css  js  c++  java
  • IIS的变迁(IIS3, IIS4, IIS5, IIS6, IIS7)

    推荐URL

    http://www.360doc.com/content/08/0801/18/51673_1498233.shtml

    http://www.360doc.com/content/09/0919/11/52464_6163205.shtml

    http://www.cnblogs.com/artech/archive/2007/09/09/887528.html

    http://www.360doc.com/content/11/0408/15/4512349_108169302.shtml

    1.aspnet_wp.exe工作进程(worker process),是iis5下asp.net应用程序的核心,负责所有客户端请求并给出响应。

    2.w3wp.exe 工作进程(worker process),是iis6, iis7下asp.net应用程序的核心,负责所有客户端请求并给出响应。

    3.Application Pool应用程序池,是worker process的容器,iis5中无此概念,在iis6中引入,防止iis5中出现的worker process崩溃(iis5中是aspnet_wp.exe, 同一时间服务器上只能运行一个该进程),导致application全崩溃的局面(iis5时为了防此问题引入appdomain的概念,企图一个进程中通过appdomain隔离运行多个web application,互相隔离起来,但并不特别成功)。

    4.工作进程(worker process)与Application Pool应用程序池关系
    对于iis5, 因为Application Pool应用程序池还未引入,因此无对应关系,整个服务器才能启一个w3wp.exe工作进程,易出问题。
    对于iis6,iis7, 一个服务器可以启动多个w3wp.exe工作进程了, 一般来说, 每个应用程序池都会创建一个w3wp.exe进程, 但是当启用Web Garden时, 一个应用程序池就对应多个w3wp.exe了.

    5.Web Garden指的是一个web应用程序可以在多个进程(w3wp.exe)中来执行,一次请求适用其中的一个,提高程序可用性,当一个进程出错,也不影响其他进程。但为了使用web garden,需要放弃InProc session, 可以把session存在state serivce中。

    6.iis7中查看w3wp对应应用程序池的命令是  c:\windows\system32\inetsrv\appcmd.exe list wp

    7.请求传递到工作进程(worker process)后.

    在iis3, iis4的asp时代, asp.dll直接集成在iis中, 绑的很死.
    在iis5的asp.net时代, asp时代的asp.dll升级为aspnet_isapi.dll, aspnet_isasp.dll将http请求通过pipeline传递给aspnet_wp.exe独立工作进程, 这样iis与asp.net就分别是独立的进程了, 为了增强Asp.net运行时的可扩展性,aspnet_isapi.dll本身的功能非常少,我们可以把aspnet_isapi.dll简单理解为请求信息的路由器,根据请求的url后缀来查找该后缀的处理程序, 也就是负责把请求从IIS传送到asp.net运行时。而后面HttpHandle和HttpModule则分别担负起了ISAPI Extension和ISAPI Filter的功能。
    在iis6时代, http.sys将请求给w3wp.exe, w3wp.exe负责加载aspnet_isapi, 再初始化CLR等等.

    在iis7时代,用集成模式将不再使用aspnet_isapi, 不再过这个劳什子了, 直接用httphandler, httpmodule.

    8.一句话。

    iis3, iis4 用来处理asp程序.
    iis5,只能一个工作进程(aspnet_wp.exe), 实现了web server(inetinfo.exe)与asp.net application(aspnet_wp.exe)的彻底分离。

    iis6,可以多个工作进程了(w3wp.exe),引入了application pool的概念(一个网站对应一个application pool,一个application pool一般对应一个w3wp.exe,如果web garden模式可以对应多个w3wp.exe),引入了http.sys用来监听用户的request,接收到request后,查到对应的application pool,啪一下把请求转发过去,application pool接到请求,又啪一下把请求转给w3wp.exe进程(如果没此w3wp.exe进程则立马创建之,w3wp.exe初始化时,会加载asp.net isapi,asp.net isapi进而加载CLR,最后创建application domain, 然后将请求request传给asp.net http runtime pipeline,从iis5到iis6的主要改进是http.sys.

    iis7, 从iis6到iis7的主要改进是isapi, 用集成模式可以不用它了.


  • 相关阅读:
    Linux 笔记 —— SVN和FTP的安装
    在.NET中使用Javascript作为脚本语言(v8最新版)
    回调的经典应用
    Javascript.NET(V8Wrapper) 更新,自定义映射别名
    SQLServer 的视图自带缓存特效?!
    关于 Twing Hot Link 的一些事
    Twing Hot Link For PSP 开发笔记(1)
    新闻发布系统
    Spring MVC入门讲解
    f(f(x))=x, 纯数学理解
  • 原文地址:https://www.cnblogs.com/liuzhendong/p/2193290.html
Copyright © 2011-2022 走看看