IIS 與ASPNET()
IIS 在請求的監聽和分發機制上又進行了革新性的改進主要體現在對於Windows進程激活服務(Windows Process Activation ServiceWAS)的引入將原來(IIS )WSVC承載的部分功能分流給了WAS通過上面的介紹我們知道對於IIS 來說WSVC主要承載著大功能
HTTP請求接收接收HTTPSYS監聽到的HTTP請求
配置管理從元數據庫(Metabase)中加載配置信息對相關組件進行配置
進程管理創建回收監控工作進程
IIS 將後兩組功能實現到了WAS中接收HTTP請求的任務依然落在WSVC頭上WAS的引入為IIS 提供了對非HTTP協議的支持WAS通過監聽器適配器接口(Listener Adapter Interface)抽象出不同協議監聽器具體來說除了基於網絡驅動的HTTPSYS提供HTTP請求監聽功能外還提供了TCP監聽器命名管道監聽器和MSMQ監聽器以提供基於TCP命名管道和MSMQ傳輸協議的監聽支持
與此種監聽器相對的是種監聽適配器它們提供監聽器與WAS中的監聽器適配器接口之間的適配從這個意義上講IIS 中的WSVC更多地為HTTPSYS起著監聽適配器的作用這種非HTTP監聽器和監聽適配器定義在程序集SMHostexe中我們可以在目錄%windir%\MicrosoftNET\Framework\v\Windows Communication Foundation\中找到它們
WCF提供的這種監聽器和監聽適配器最終以Windows 服務的形式體現雖然它們定義在一個程序集中我們依然可以通過服務工作管理器對其進行單獨的啟動終止和配置SMHostexe提供了個重要的Windows Service
NetTcpPortSharing:為WCF提供TCP端口共享關於端口共享在WCF中的應用本人拙著《WCF全面解析》(上冊)對此有詳細的介紹
NetTcpActivator:為WAS提供基於TCP的激活請求包含TCP監聽器和對應的監聽適配器
NetPipeActivator:為WAS提供基於命名管道的激活請求包含命名管道監聽器和對應的監聽適配器
NetMsmqActivator:為WAS提供基於MSMQ的激活請求包含MSMQ監聽器和對應的監聽適配器
圖為上述的個Windows 服務在服務控制管理器中的呈現
圖 定義在SMHostexe中的Windows Service
圖揭示了IIS 的整體構架及整個請求處理流程無論是從WSVC接收到的HTTP請求還是通過WCF提供的監聽適配器接收到的請求最終都會傳遞到WAS如果相應的工作進程(或者應用程序池)尚未創建則創建它否則將請求分發給對應的工作進程進行後續的處理WAS在進行請求處理過程中通過內置的配置管理模塊加載相關的配置信息並對相關的組件進行配置與IIS x和IIS 基於Metabase的配置信息存儲不同的是IIS 大都將配置信息存放於XML形式的配置文件中基本的配置存放在applicationHostconfig中
圖 IIS 與ASPNET
返回目錄ASPNET MVC 框架揭秘
編輯推薦
ASP NET開發培訓視頻教程
Microsoft NET框架程序設計視頻教程
Java程序性能優化讓你的Java程序更快更穩定
Visual C++音頻/視頻技術開發與實戰
From:http://tw.wingwit.com/Article/program/net/201311/16119.html