VS.NET(C#)-5.11_IIS5架构模型与进程的关系
IIS5架构以及各个进程之间的关系
在IIS 5.0中,通过InetInfo.exe监听Request并把Request分发到Work Process。web服务器进程(Inetinfo.exe)负责管理如下四个服务:
Ø WWW服务
Ø SMTP服务
Ø FTP服务
Ø NNTP服务
在web服务器进程(Inetinfo.exe)中,除了运行上面所说的四个服务外,它还可以运行第三方代码,即是web应用程序。
同时,它还负责调度工作,即将用户的http请求转发给web应用程序,当web应用程序对用户的 http请求处理完毕后,WWW服务还负责将处理结果返回给用户。
三个不同级别的应用程序保护
Ø 低级别。
IIS进程内,与IIS 1.0、IIS2.0、IIS 3.0的单一结构一样,web应用程序作为web服务器进程(Intetinfo.exe)的一部分,它在web服务器进程内部运行。
这样做的好处是:提高了web应用程序的性能,能够快速的对用户的请求作出响应。但是,同时也降低了IIS的稳定性,一旦web应用程序崩溃,IIS也就同时崩溃了。
Ø 中级别。
实现一个单独的缓冲池进程(名为DLLHost.exe的COM+宿主进程),这个缓冲池进程运行在Inetinfo.exe进程之外,多个web应用程序运行在缓冲池进程中。
这样就实现了web应用程序与Inetinfo.exe进程的隔离。Web应用程序出现故障也不会影响到Inetinfo.exe进程。在一定程度上保证了IIS的稳定性。
但是,在缓冲池进程中,一旦有一个web应用程序崩溃,那么整个缓冲池也就崩溃了,所有运行在缓冲池中的web应用程序都将停止工作。
Ø 高级别。
实现一个单独的缓冲池进程(名为DLLHost.exe的COM+宿主进程),这个缓冲池进程运行在Inetinfo.exe进程之外,并且,有且仅有一个web应用程序运行在缓冲池中。
这种高级别的保护,在IIS的稳定性方面,要比前两种好的多。一个web应用程序的崩溃不会影响到其他web应用程序和IIS的运行。