ASP.Net MVC生命週期


在本章中,我們將討論整個MVC管道以及HTTP請求在ASP.NET中通過MVC框架時的生命過程。 在高層次上,生命週期就是用來處理某種型別的請求或改變應用程式狀態的一系列步驟或事件。 您可能已經熟悉了各種框架生命週期,這個概念並不是MVC獨有的。

例如,ASP.NET webforms平台具有複雜的頁面生命週期。 其他.NET平台,如Windows手機應用程式,都有自己的應用程式生命週期。 對於所有這些平台而言,無論採用哪種技術,都是如此,理解處理管道可以幫助您更好了解程式執行的過程,以及利用可用的功能,而MVC也不例外。

MVC有兩個生命週期 -

  • 應用程式生命週期
  • 請求生命週期

應用程式生命週期

應用程式生命週期是指應用程式實際開始執行IIS的時間,直到停止。 這由應用程式啟動檔案中的應用程式開始和結束事件標記。

請求生命週期

每當HTTP請求由我們的應用程式處理時,就是發生的事件序列。

每個MVC應用程式的入口點都以路由開始。在ASP.NET平台收到請求之後,它會找出如何通過URL路由模組來處理它。

模組是可以掛入應用程式生命週期並新增功能的.NET元件。 路由模組負責將傳入的URL與我們在應用程式中定義的路由進行匹配。

所有的路由都有一個關聯的路由處理器,這是MVC框架的入口點。

MVC框架處理將路由資料轉換為可處理請求的具體控制器。控制器建立完成後,下一個主要步驟是「Action Execution」。動作呼叫者的元件找到並選擇適當的Action方法來呼叫控制器。

在動作結果準備好之後,觸發下一個階段,即執行結果。 MVC分離宣告執行結果的結果。 如果結果是檢視型別,則檢視引擎將被呼叫,它負責查詢和渲染檢視。

如果結果不是檢視,則操作結果將自行執行。這個結果執行是生成對原始HTTP請求的實際響應。