IIS7 站點啟動并處理請求的步驟如下圖:
步驟 1 到 6 ,是處理應(yīng)用啟動,啟動好后,以后就不需要再走這個步驟了。
上圖的8個步驟分別如下:
當(dāng)客戶端瀏覽器開始HTTP 請求一個WEB 服務(wù)器的資源時,HTTP.sys 攔截到這個請求。 HTTP.sys contacts WAS to obtain information from the configuration store. WAS 向配置存儲中心請求配置信息。applicationHost.config。 WWW 服務(wù)接受到配置信息,配置信息指類似應(yīng)用程序池配置信息,站點配置信息等等。 WWW 服務(wù)使用配置信息去配置 HTTP.sys 處理策略。 WAS starts a worker process for the application pool to which the request was made. The worker process processes the request and returns a response to HTTP.sys. 客戶端接受到處理結(jié)果信息。W3WP.exe 進程中又是如果處理得呢?? IIS 7 的應(yīng)用程序池的托管管道模式分兩種: 經(jīng)典和集成。 這兩種模式下處理策略各不相通。
本文作者:郭紅俊 http://blog.joycode.com/ghj
IIS 6 以及 IIS7 經(jīng)典模式的托管管道的架構(gòu)
在IIS7之前,ASP.NET 是以 IIS ISAPI extension 的方式外加到 IIS,其實包括 ASP 以及 PHP,也都以相同的方式配置(PHP 在 IIS 采用了兩種配置方式,除了 IIS ISAPI extension 的方式,也包括了 CGI 的方式,系統(tǒng)管理者能選擇 PHP 程序的執(zhí)行方式),因此客戶端對 IIS 的 HTTP 請求會先經(jīng)由 IIS 處理,然后 IIS 根據(jù)要求的內(nèi)容類型,如果是 HTML 靜態(tài)網(wǎng)頁就由 IIS 自行處理,如果不是,就根據(jù)要求的內(nèi)容類型,分派給各自的 IIS ISAPI extension;如果要求的內(nèi)容類型是 ASP.NET,就分派給負責(zé)處理 ASP.NET 的 IIS ISAPI extension,也就是 aspnet_isapi.dll。下圖是這個架構(gòu)的示意圖。
IIS 7 應(yīng)用程序池的 托管管道模式 經(jīng)典 模式也是這樣的工作原理。 這種模式是兼容IIS 6 的方式, 以減少升級的成本。
IIS6 的執(zhí)行架構(gòu)圖,以及 IIS7 應(yīng)用程序池配置成經(jīng)典模式的執(zhí)行架構(gòu)圖
上一頁123下一頁閱讀全文
新聞熱點
疑難解答
圖片精選