IIS最早是单进程应用程序。
IIS提供WWW服务,同时还可以使用Internet服务应用程序设计接口(Internet Service Application Programming Interface,ISAPI)开发的DLL。
微软开发ISAPI的初衷是希望它能够取代Unix风格的系统所使用的CGI进程--->在这类系统中,针对每个请求,系统都需要生成一个新的CGI进程,即使在同一个CGI应用程序中也必须如此。
请求1-------------------------->CGI进程
请求2-------------------------->CGI进程
请求3-------------------------->CGI进程
|
|
|
请求n-------------------------->CGI进程
与CGI相比,ISAPI的可伸缩性要好得多,因为ISAPI可以在同一个进程中响应多个请求。
缺点:
因为需要在一个单独的进程中响应多个请求,所以任意一个ISAPI的DLL发生失效时,会导致整个Web服务崩溃。