【正文】
lexible Extensibility is a wellfactored and open system, where any ponent can be easily replaced with a custom implementation. Whether it is server controls, page handlers, pilation, or core application services, you39。s fastest web server, Inter Information Services. also introduces key performance benefits over previous versions. Construction of the entire engine entirely in managed code, all functions are an extension of the expansion through the provision of managed code. For the powerful. NET framework, to use their own things, to build a mature, highperformance engine architecture has bee a probate. Nevertheless, it is important that, is the most impressive forwardlooking design, which in its work on very easily, and provides a hook almost any part of the request to deal with these capabilities. can be used to plete some tasks, these tasks prior to the use of IIS39。它不僅僅 只是 WebForms 和 WebServices。實(shí)際上這個(gè)引擎和 HTTP 或者 Web Server 是完全分開的。 通過使用內(nèi)置的管道路由請求, HTTP 運(yùn)行時(shí)提 供了一套復(fù)雜的,但卻很優(yōu)雅的機(jī)制。所以,此框架具有非常高的可擴(kuò)展性。你可以在處理請求之前或之后過濾內(nèi)容,或者僅僅把匹配指定簽名的客戶端請求直接路由到你的代碼里或轉(zhuǎn)向其它的 URL。除此之外,在容易開發(fā)和性能之間, HTTP運(yùn)行時(shí)還提供了最佳的靈活性。我們認(rèn)識到,同時(shí)簡化的發(fā)展經(jīng)驗(yàn)是很重要的,部署和維護(hù)在生產(chǎn)環(huán)境中,也是一個(gè)關(guān)鍵組成部分,一個(gè)應(yīng)用程序的壽命。 配置的空氣污染指數(shù)。 的 MMC 管理工具。 前匯編工具。這prepilation 自動(dòng)識別任何匯編的問題,任何地方的網(wǎng)站,以及使 應(yīng)用程序?qū)⒁渴饹]有任何來源的被存儲(chǔ)在服務(wù)器上(一可以選擇性地刪除的內(nèi)容的。 健康監(jiān)測和追蹤。新的追蹤功能,將讓管理者能捕獲的運(yùn)行時(shí)間和請求,將數(shù)據(jù)從生產(chǎn)服務(wù)器,以更好地診斷問題。 靈活的可擴(kuò)展性 是一個(gè)良好的因素和公開的制度,任何組件可以很容易地取代自訂的執(zhí)行情況。開發(fā)人員可以堵塞在自定義代碼的任何地方網(wǎng)頁的生命周期,以進(jìn)一步自定義 到他們的需要。 包括改進(jìn)的支持,控制可擴(kuò)展性,如更多的基地班概括的共同行為,提高設(shè)計(jì)師的支持,更多的空氣污染指數(shù)為互動(dòng)與客戶端腳本,元數(shù)據(jù)驅(qū)動(dòng)的支持,新功能,如主題和無障礙的核查,更好的國家管理,以 及更多。數(shù)據(jù)訪問,在 是現(xiàn)在的表現(xiàn)以聲明使用的數(shù)據(jù)源控制在一個(gè)網(wǎng)頁上。此外, sqldatasource 控制,船舶在方塊中已內(nèi)置支持,任何 托管提供實(shí)現(xiàn)新的供應(yīng)商工廠模型在 。動(dòng)態(tài)編譯在 是現(xiàn)在所處理的可擴(kuò)展的匯編,建立供應(yīng)商,其中協(xié)理特定文件擴(kuò)展名與處理程序知道如何匯編這種擴(kuò)展動(dòng)態(tài)在運(yùn)行時(shí)。為 xsd 文件類型化的 DataSet 對象。 表達(dá)的建設(shè)者。 包括表達(dá)的建設(shè)者為參照字符串資源的本地化,連接字符串,應(yīng)用程序設(shè)置和個(gè)人的價(jià)值觀。 性能和 可擴(kuò)展性 是建立在執(zhí)行,使用編譯執(zhí)行模型,為處理頁的要求和運(yùn)行于世界上速度最快的網(wǎng)絡(luò)服務(wù)器, Inter 信息服務(wù)。 整個(gè) 引擎完全構(gòu)建在托管代碼里,所有的擴(kuò)展性功能都是通過托管代碼的擴(kuò)展提供。盡管如此,但重要的是, 給人印象最深的是高瞻遠(yuǎn)矚的設(shè)計(jì),這使得在其之上的工作變得非常容易,并且提供了幾乎可以 鉤住請求處理當(dāng)中任意部分的能力。盡管還有一些限制,但與 ASP 相比,已經(jīng)有了很大的進(jìn)步。由于 ISAPI 是底層的接口,因此它的速度也是非常的快。所以,在一定的時(shí)間內(nèi), ISAPI 主要充當(dāng)其它應(yīng)用程序或平臺(tái)的橋接口。事實(shí)上,微軟平臺(tái)上的 和 IIS 的接口是通過宿主在 .NET 里的 ISAPI 擴(kuò)展來通信的,然后直達(dá) 運(yùn)行時(shí)。 ISAPI 提供的內(nèi)容經(jīng)由公共對象類似于 HttpRequest 和 HttpResponse,通過一個(gè)設(shè)計(jì)優(yōu)良的、可訪問的接口,以托管對象的方式暴露非托管數(shù)據(jù)。用戶通過在瀏覽器中鍵入一個(gè) URL,點(diǎn)擊一個(gè)超鏈接,提交 一個(gè) HTML表單(一個(gè) post請求),或者一個(gè)客戶端程序調(diào)用基于 WebService(通過 )。 的底層通過 ISAPI 擴(kuò)展與 IIS 通信,然后,通過 ,這個(gè)請求通常被路由到一個(gè)帶有 .aspx 擴(kuò)展名的頁面。這個(gè)處理器將被安裝用于處理指定的擴(kuò)展。每一個(gè)觸發(fā) 的請求,都必須經(jīng)由一個(gè)已經(jīng)注冊的,并且指向 的擴(kuò)展名來標(biāo)識。 依靠擴(kuò)展名, 把一個(gè)請求路由到一個(gè)恰當(dāng)?shù)奶幚砥鳎撎幚砥鲃t負(fù)責(zé)處理這個(gè)請求。許多其它的處理器將隨著 一起被安裝。在 IIS 里所有的 HttpHandler 被映射并指向 ISAPI 擴(kuò)展,并且這些HttpHandler 也都在 里配置,用于把請求路由到指定的 HTTP 處理器里執(zhí)行。而這些處理器可以處理簡單到只有幾行代碼的 Hello World,也可以處理復(fù)雜到類似 的頁面以及執(zhí)行 WebService。 ISAPI 連接 ISAPI是底層非托管的 Win32 API。用這些接口處理原始指針( raw pointer),而函數(shù)指針列表( function pointer tables)則用于回調(diào)。由于 ISAPI 是非常低層的,所以不太適合使用它構(gòu)建應(yīng)用級的程序。例如, ASP 和 都是被當(dāng)作冷聚變( cold fusion)構(gòu)建于 ISAPI之上。 ISAPI 是個(gè)非常好的工具,它給高層次的應(yīng)用程序提供了高性能垂直訪問接口。在 ASP 和 里,引擎可以提煉 ISAPI 接口提供的表單里的對象如: Request 和 Response,這些對象可以從 ISAPI 請求的信息中讀取它們各自的內(nèi)容。擴(kuò)展是請求處理接口,提供了跟 Web Server 輸入和輸出相關(guān)的邏輯處理。 ASP和 ISAPI擴(kuò)展的實(shí)現(xiàn)。順便提一下, 通過兩個(gè)方面的內(nèi)容: HTTP 處理器(對應(yīng) ISAPI 擴(kuò)展)和 HTTP 模塊(對應(yīng) ISAPI過濾)映射到 ISAP