鍍金池/ 教程/ C#/ ASP.Net MVC生命周期
ASP.Net MVC簡介
ASP.Net MVC過濾器
ASP.Net MVC視圖
ASP.Net MVC安全
ASP.Net MVC手腳架
ASP.Net MVC控制器
ASP.Net MVC與SQL Server數(shù)據(jù)庫操作
ASP.Net MVC NuGet包管理
ASP.Net MVC入門程序
ASP.Net MVC Razor
ASP.Net MVC Bootstrap
ASP.Net MVC單元測試
ASP.Net MVC動作
ASP.Net MVC模式
ASP.Net MVC選擇器
ASP.Net MVC開發(fā)環(huán)境配置
ASP.Net MVC生命周期
ASP.Net MVC模型綁定
ASP.Net MVC自托管(本地主機(jī)部署)
ASP.Net MVC驗證
ASP.Net MVC緩存
ASP.Net MVC數(shù)據(jù)模型
ASP.Net MVC路由
ASP.Net MVC教程
ASP.Net MVC助手
ASP.Net MVC數(shù)據(jù)注解
ASP.Net MVC Web API

ASP.Net MVC生命周期

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

例如,ASP.NET webforms平臺具有復(fù)雜的頁面生命周期。 其他.NET平臺,如Windows手機(jī)應(yīng)用程序,都有自己的應(yīng)用程序生命周期。 對于所有這些平臺而言,無論采用哪種技術(shù),都是如此,理解處理管道可以幫助您更好了解程序運(yùn)行的過程,以及利用可用的功能,而MVC也不例外。

MVC有兩個生命周期 -

  • 應(yīng)用程序生命周期
  • 請求生命周期

應(yīng)用程序生命周期

應(yīng)用程序生命周期是指應(yīng)用程序?qū)嶋H開始運(yùn)行IIS的時間,直到停止。 這由應(yīng)用程序啟動文件中的應(yīng)用程序開始和結(jié)束事件標(biāo)記。

請求生命周期

每當(dāng)HTTP請求由我們的應(yīng)用程序處理時,就是發(fā)生的事件序列。

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

模塊是可以掛入應(yīng)用程序生命周期并添加功能的.NET組件。 路由模塊負(fù)責(zé)將傳入的URL與我們在應(yīng)用程序中定義的路由進(jìn)行匹配。

所有的路由都有一個關(guān)聯(lián)的路由處理器,這是MVC框架的入口點。

MVC框架處理將路由數(shù)據(jù)轉(zhuǎn)換為可處理請求的具體控制器??刂破鲃?chuàng)建完成后,下一個主要步驟是“Action Execution”。動作調(diào)用者的組件找到并選擇適當(dāng)?shù)?code>Action方法來調(diào)用控制器。

在動作結(jié)果準(zhǔn)備好之后,觸發(fā)下一個階段,即執(zhí)行結(jié)果。 MVC分離聲明執(zhí)行結(jié)果的結(jié)果。 如果結(jié)果是視圖類型,則視圖引擎將被調(diào)用,它負(fù)責(zé)查找和渲染視圖。

如果結(jié)果不是視圖,則操作結(jié)果將自行執(zhí)行。這個結(jié)果執(zhí)行是生成對原始HTTP請求的實際響應(yīng)。