ASP.NET MVC基本上是一個來自微軟的Web開發(fā)框架,它結(jié)合了MVC(模型 - 視圖 - 控制器)體系結(jié)構(gòu)的特性,它是最新的敏捷開發(fā)思想和技術(shù),以及現(xiàn)有ASP.NET平臺的最好部分 。
MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設(shè)計創(chuàng)建 Web 應(yīng)用程序的模式:
ASP.NET MVC不是從零開始構(gòu)建的東西。它是傳統(tǒng)ASP.NET Web窗體的完全替代方案。它建立在ASP.NET的頂層,因此開發(fā)人員在構(gòu)建MVC應(yīng)用程序時幾乎可以享受/使用到所有的ASP.NET功能。如下架構(gòu)圖所示 -

作為.Net Framework版本1.0的一部分,ASP.NET 1.0于2002年1月5日發(fā)布。 那時,許多開發(fā)者很容易把ASP.NET和Web Forms想成是一回事。 但是ASP.NET總是支持兩層抽象 -
在2007年ASP.NET MVC宣布的時候,MVC模式正在成為構(gòu)建Web框架的最流行的方式之一。
2009年4月,ASP.NET MVC源代碼在Microsoft公共許可證(MS-PL)下發(fā)布。 “ASP.NET MVC框架是一個輕量級,高度可測試的演示框架,與現(xiàn)有的ASP.NET功能集成在一起。
其中一些集成功能是母版頁和基于成員資格的認證。MVC框架在System.Web.Mvc程序集中定義。
2012年3月,微軟公司以開源許可證(Apache License 2.0)發(fā)布了部分Web棧(包括ASP.NET MVC,Razor和Web API)。 ASP.NET Web窗體不包含在這個計劃中。
微軟決定創(chuàng)建自己的MVC框架來構(gòu)建Web應(yīng)用程序。 MVC框架只是建立在ASP.NET之上。 在使用ASP.NET MVC構(gòu)建Web應(yīng)用程序時,不會出現(xiàn)狀態(tài)幻想,不會出現(xiàn)頁面加載和頁面生命周期等問題。
ASP.NET MVC的另一個設(shè)計目標(biāo)是在整個框架的所有方面都是可擴展的。所以當(dāng)我們談?wù)撘晥D時,視圖必須由特定類型的視圖引擎呈現(xiàn)。 默認的視圖引擎仍然可以采取一個ASPX文件。 但是如果不喜歡使用ASPX文件,那么可以使用別的東西,并插入自己的視圖引擎。
在MVC框架內(nèi)有一個組件將實例化控制器。你可能不喜歡MVC框架實例化控制器的方式,可能想要自己處理這個工作。 所以,在MVC中有很多地方可以注入自己的定制邏輯來處理任務(wù)。
以下是使用ASP.NET MVC的好處 -