ASP.NET Framework深度曆險(1)

來源:互聯網
上載者:User
ASP.NET Framework深度曆險(1)March 25,2004
記得前一段時間有本不錯的書叫Delphi深度曆險,寫得不錯,我也就暫且借用了,:)
在這裡我不打算簡單介紹ASP.NET的入門知識了,ASP.NET除了名字和古老的ASP有些相同外,已經是完完全全的改變了,雖然你仍能在ASP.NET中發現你熟悉的Session,Application等等,但是不要嘗試將他們同遠古的ASP時代的Session等等畫上等號。
我們來慢慢的深入到ASP.NET Framework的核心內部,看看她是如何?的,看看她是如何能承擔起下一代Web開發技術平台這個美譽的。
這篇東東不曾想過要完成多少章節,也沒有這個必要,權當日記的形式存在,或許很短,或許很長,我會盡我的所能來將ASP.NET Framework展現在諸位面前。
如果你對ASP.NET Framework沒有任何瞭解,你同樣可以成為ASP.NET coding高手,如果是這樣,你就不必繼續看下去了。

Chapter One --  Process a http request.

我們瞧一瞧ASP.NET Framework的運行機制和架構。
在開始之前,我們先跟隨考古學家參觀一下古老的ASP運行機制:
當你請求一個*.asp檔案的時候,這個http request首先被inetinfo.exe進程所截獲,這個inetinfo.exe進程就是WWW服務進程,然後她會將這個請求轉交給asp.dll進程,asp.dll進程就會解釋執行這個asp葉面,然後將解釋後的資料流返回給用戶端瀏覽器。

轉過頭來我們看看如今的ASP.NET Framework是如何處理一個http request.
當你請求一個*.aspx檔案的時候,同樣的這個http request會被inetinfo.exe進程截獲,她判斷檔案的尾碼之後,將這個請求轉交給ASPNET_ISAPI.dll,ASPNET_ISAPI.dll會通過一個被稱為Http PipeLine的管道,將請求發送給ASPNET_WP.exe進程,當這個http request進入ASPNET_WP.exe進程之後,會通過HttpRuntime來處理這個請求,處理完畢將結果返回用戶端。

OK,好像並沒有太大的改進嘛,不要著急,在ASP.NET Framework中我們甚至能夠瞭解到HttpRuntime的細節。好,繼續深入下去:
當Http Request進入HttpRuntime之後,會繼續進入到一個被稱之為HttpApplication Factory的一個Container中,她會給出一個HttpApplication來處理傳遞進來的請求,這個請求會依次進入如下幾個Container:HttpModule->HttpHandler Factory->HttpHandler。
當系統內部的HttpHandler的ProcessResquest方法處理完畢之後,整個Http Request就完成了,用戶端也就得到相應的東東了。

整理一下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()

或許會問,我知道這個處理流程有什麼用處呢?當然有用了,比如如果你想要中途截獲一個Http Request並且做些自己的處理,該如何做呢?這是下一次我們探討的東東了,下次我們詳細討論處理的細節問題。
see you later

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.