IIS7中ASP.net 請求處理過程說明

NO IMAGE

IIS7 站點啟動並處理請求的步驟如下圖:

  步驟 1 到 6 ,是處理應用啟動,啟動好後,以後就不需要再走這個步驟了。

  上圖的8個步驟分別如下:

當客戶端瀏覽器開始HTTP 請求一個WEB 伺服器的資源時,HTTP.sys 攔截到這個請求。
HTTP.sys contacts WAS to obtain information from the configuration store.
WAS 向配置儲存中心請求配置資訊。applicationHost.config。
WWW 服務接受到配置資訊,配置資訊指類似應用程式池配置資訊,站點配置資訊等等。
WWW 服務使用配置資訊去配置 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.
客戶端接受到處理結果資訊。

  W3WP.exe 程序中又是如果處理得呢?? IIS 7 的應用程式池的託管管道模式分兩種: 經典和整合。 這兩種模式下處理策略各不相通。

  本文作者:郭紅俊 http://blog.joycode.com/ghj

  IIS 6 以及 IIS7 經典模式的託管管道的架構

  在IIS7之前,ASP.NET 是以 IIS ISAPI extension 的方式外加到 IIS,其實包括 ASP 以及 PHP,也都以相同的方式配置(PHP 在 IIS 採用了兩種配置方式,除了 IIS ISAPI extension 的方式,也包括了 CGI 的方式,系統管理者能選擇 PHP 程式的執行方式),因此客戶端對 IIS 的 HTTP 請求會先經由 IIS 處理,然後 IIS 根據要求的內容型別,如果是 HTML 靜態網頁就由 IIS 自行處理,如果不是,就根據要求的內容型別,分派給各自的 IIS ISAPI extension;如果要求的內容型別是 ASP.NET,就分派給負責處理 ASP.NET 的 IIS ISAPI extension,也就是 aspnet_isapi.dll。下圖是這個架構的示意圖。

  IIS  7 應用程式池的 託管管道模式  經典  模式也是這樣的工作原理。 這種模式是相容IIS 6 的方式, 以減少升級的成本。

  IIS6 的執行架構圖,以及 IIS7  應用程式池配置成經典模式的執行架構圖

您可能感興趣的文章:

ASP.NET在IIS7中上下文中不可用的解決方法Win2008 server IIS7 設定身份模擬(ASP.NET impersonation)IIS7 配置大全(ASP.NET 2.0, WCF, ASP.NET MVC,php)讓Win2008 IIS7 ASP.NET支援10萬併發請求asp.net iis7預設文件錯誤異常的解決方法win7和win2008 r2下配置IIS7(ASP.net執行環境)Win7旗艦版中的IIS7配置asp.net的執行環境IIS7.5 檢測到在整合的託管管道模式下不適用的 ASP.NET設定使用ASP.NET操作IIS7中應用程式