ASP.Net MVC生命週期

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

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

MVC有兩個生命週期 -

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

ASP.Net MVC生命週期

應用程序生命週期

應用程序生命週期是指應用程序實際開始運行IIS的時間,直到停止。 這由應用程序啓動文件中的應用程序開始和結束事件標記。

請求生命週期

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

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

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

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

ASP.Net MVC生命週期

MVC框架處理將路由數據轉換爲可處理請求的具體控制器。控制器創建完成後,下一個主要步驟是「Action Execution」。動作調用者的組件找到並選擇適當的Action方法來調用控制器。

在動作結果準備好之後,觸發下一個階段,即執行結果。 MVC分離聲明執行結果的結果。 如果結果是視圖類型,則視圖引擎將被調用,它負責查找和渲染視圖。

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