VS.NET(C#)-5.12_IIS5运行模型及特点
IIS 5.x算是微软IIS产品的分界线。
IIS5.x可以配置的方式来运行,对于之前的IIS大进步。IIS 5.x对之后IIS的发展有很重要启示, 运行机制有很大的不同。
运行模型图
模型特点
首先,同一台主机上在同一时间只能运行一个aspnet_wp进程,每个基于虚拟目录的 ASP.NET Application对应一个 Application Domain,即每个Application 都运行在同一Worker Process 中,Application之间的隔离是基于Application Domain的,而不是基于Process的。
其次,ASP.NET ISAPI 负责创建 aspnet_wp.exe 工作进程,而且负责监控该进程,如果检测到 aspnet_wp 的 Performance 降低到某个设定的下限,ASP.NET ISAPI 会负责结束掉该进程。当 aspnet_wp 结束掉之后,后续的 Request 会导致ASP.NET ISAPI 重新创建新的 aspnet_wp Worker Process。
最后,由于 IIS 和Application 运行在他们各自的进程中,他们之间的通信必须采用特定的通信机制。
本质上IIS 所在的 InetInfo 进程和 Worker Process 之间的通信是同一台机器不同进程的通信(local interprocess communications),处于Performance的考虑,他们之间采用基于Named pipe的通信机制。
ASP.NETISAPI和Worker Process之间的通信通过他们之间的一组Pipe实现。同样处于Performance的原因,ASP.NET ISAPI 通过异步的方式将Request 传到Worker Process 并获得 Response,但是 Worker Process 则是通过同步的方式向 ASP.NET ISAPI 获得一些基于 Server 的变量。

本文详细介绍了IIS5.x的运行模型及其特点。包括单一aspnet_wp进程的管理方式、ApplicationDomain的应用隔离机制、WorkerProcess的监控与重启机制以及IIS与Application间基于Namedpipe的通信机制。

被折叠的 条评论
为什么被折叠?



