.NET Framework運行機制知識講解
認真的學習掌握.NET Framework運行機制,有益于我們實際開發(fā)。在這里我們將會對.NET Framework運行機制進行一個詳細的介紹,希望對大家有所幫助,提高大家對.NET Framework的認識。#t#
記得前一段時間有本不錯的書叫Delphi深度歷險,寫得不錯,我也就暫且借用了,:)
在這里我不打算簡單介紹ASP.NET的入門知識了,ASP.NET除了名字和古老的ASP有些相同外,已經(jīng)是完完全全的改變了,雖然你仍能在ASP.NET中發(fā)現(xiàn)你熟悉的 Session,Application等等
但是不要嘗試將他們同遠古的ASP時代的Session等等畫上等號。
我們來慢慢的深入到ASP.NET Framework的核心內(nèi)部,看看她是如何實現(xiàn)的,看看她是如何能承擔起下一代Web開發(fā)技術(shù)平臺這個美譽的。
這篇東東不曾想過要完成多少章節(jié),也沒有這個必要,權(quán)當日記的形式存在,或許很短,或許很長,我會盡我的所能來將.NET Framework運行機制展現(xiàn)在諸位面前。
如果你對ASP.NET Framework沒有任何了解,你同樣可以成為ASP.NET coding高手,如果是這樣,你就不必繼續(xù)看下去了。
Chapter One -- Process a http request.
我們瞧一瞧.NET Framework運行機制和架構(gòu)。
在開始之前,我們先跟隨考古學家參觀一下古老的ASP運行機制:
當你請求一個*.asp文件的時候,這個http request首先被inetinfo.exe進程所截獲,這個inetinfo.exe進程就是WWW服務(wù)進程,然后她會將這個請求轉(zhuǎn)交給 asp.dll進程,asp.dll進程就會解釋執(zhí)行這個asp葉面,然后將解釋后的數(shù)據(jù)流返回給客戶端瀏覽器。
轉(zhuǎn)過頭來我們看看如今的.NET Framework運行機制是如何處理一個http request.
當你請求一個*.aspx文件的時候,同樣的這個http request會被inetinfo.exe進程截獲,她判斷文件的后綴之后,將這個請求轉(zhuǎn)交給 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll會通過一個被稱為Http PipeLine的管道,將請求發(fā)送給ASPNET_WP.exe進程,當這個http request進入ASPNET_WP.exe進程之后,會通過HttpRuntime來處理這個請求,處理完畢將結(jié)果返回客戶端。
OK,好像并沒有太大的改進嘛,不要著急,在ASP.NET Framework中我們甚至能夠了解到HttpRuntime的細節(jié)。好,繼續(xù)深入下去:
當Http Request進入HttpRuntime之后,會繼續(xù)進入到一個被稱之為HttpApplication Factory的一個Container中,她會給出一個HttpApplication來處理傳遞進來的請求,這個請求會依次進入如下幾個 Container:
HttpModule->HttpHandler Factory->HttpHandler。
當系統(tǒng)內(nèi)部的HttpHandler的ProcessResquest方法處理完畢之后,整個Http Request就完成了,客戶端也就得到相應(yīng)的東東了。
整理一下ASP.NET Framework處理一個Http Request的流程:
HttpRequest-->inetinfo.exe-->ASPNET_ISAPI.dll-->Http Pipeline-->ASPNET_WP.exe-->HttpRuntime-->HttpApplication Factory-->HttpApplication-->HttpModule-->HttpHandler Factory-->HttpHandler-->HttpHandler.ProcessRequest()
.NET Framework運行機制的相關(guān)概念就為大家介紹到這里。















 
 
 






 
 
 
 