NET MVC運行機制


【圖解ASP.NET MVC運行機制理解-簡易版】

 

很多盆友咨詢ASP.NET MVC的機制。網上也有好多。但是都是相當深奧。看的雲里霧里的。我今天抽空,整理個簡易版本。把處理流程走一遍。

當然,這個只是處理請求的一部分環節。百度的面試題“客戶端從瀏覽器發送一個請求,要經過哪些路程。。。”看似簡單的問題,問的很有深度。

 

我們不關注 從客戶端HTTP->TCP->DNS->Server->Application->..................Client  這個完整的路線和插曲。我們就看看程序那一塊。

我這說的是ASP.NET MVC的Web程序,其它的請繞行哈.

IIS 6 7 8的變化,自行找資料。不影響ASP.NET 的處理機制。

開始步驟:

1.服務器監聽TCP請求處理,轉發給IIS.........

 

1.

1-2

 

 

2. IIS 接受到請求后,發送給Web程序。

 

 

 

 

3.Web程序在啟動的時候,觸發一系列的事件。

 

 

 

4.請找些資料 理解上面的管道模型 ,理解 HttpModule 、HttpHandler。Web程序啟動的時候,事件注冊順序表,來自MSDN。

 

5 .穿過注冊的Module后,才進入對應的 Handler 進行請求處理。MVC在配置文件中,加載注冊了路由模塊。

 

 

7.在程序啟動的時候,觸發注冊模塊的 Init 方法。

 

 

8.此方法為 HttpApplication 的事件 PostResolveRequestCache 注冊了處理程序 。在觸發此事件的時候,進行了請求的路由檢測。路由數據,RouteTable是當前應用程序域-AppDomain下的一個單例模式的事例。實現在應用程序級別的路由數據共享。

 

9. 在應用程序啟動的時候,使用單例的路由表 RouteTable對象,進行路由注冊的注冊配置。

 

好了。路由數據已經准備初始化完畢,各項處理事件也注冊完畢。當請求進入當前程序時候,進入管道模型,最終到達處理程序Handler,將生成的響應數據返回。

----------------------------------關於管道模型的設計-------------------------------------

附加:

 

 

參考文獻:深入理解ASP.NET的內部運行機制 

Asp.net管道模型(管線模型)之一發不可收拾

https://msdn.microsoft.com/en-us/library/system.web.httpapplication(v=vs.80).aspx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM