簡體   English   中英

ASP.NET 和 ASP.NET MVC 有什么區別?

[英]What is the difference between ASP.NET and ASP.NET MVC?

對於 ASP.NET,我是一個完整的初學者,但我想學習它以構建一個最終將與雲托管的 SQL 服務器通信的 Web 應用程序。 但是,我找不到任何概述 ASP.NET Web 應用程序和 ASP.NET MVC2 Web 應用程序(在 Visual Studio 2010 中)之間區別的信息,所以我不確定從哪里開始。 誰能給我一個簡單的解釋/大綱,以便我可以決定要遵循的教程?

謝謝

ASP.NET 是一個網絡平台。 它提供了一個位於 IIS(Web 服務器)之上的層,便於創建 Web 應用程序和 Web 服務。 ASP.NET MVC 是一個專門用於構建 Web 應用程序的框架。 它位於 ASP.NET 之上並使用 ASP.NET 提供的 API。 ASP.NET Web Forms 是另一個專門用於構建 Web 應用程序的框架,而新的 ASP.NET Web API 是用於構建 Web 服務的平台。

ASP.NET 在最基本的層面上為您提供了一種方法,可以在可與 VB、C# 等一起使用的事件驅動編程模型中提供與服務器端“控件”相結合的通用 HTML 標記。 您定義站點的頁面,放入控件,並提供程序化管道以使其全部工作。

ASP.NET MVC 是一個基於模型-視圖-控制器架構模式的應用程序框架。 這可能被認為是用於實現網站的特定方式的“固定”框架,頁面充當“控制器”並將請求分派到應用程序中的適當頁面。 這個想法是“划分”應用程序的各種元素,例如業務規則、表示規則等。

將前者視為實現您或多或少從頭開始設計的站點架構的“白板”。 MVC 提供了一種機制,用於圍繞預先確定的應用程序訪問“模式”設計站點(如果有道理的話)。 可以肯定的是,它有更多的技術細節,但就問題而言,這是鎳之旅。

祝你好運!

ASP.NET MVC2 Web 應用程序基於MVC 模式以方便單元測試,沒有模擬管道asp.net,因為它非常困難。 您沒有代碼隱藏代碼以將您的代碼圖形和您的代碼功能分開。

使用 MVC,您的應用程序將獨立於視圖。 您可以輕松替換創建視圖的技術。

閱讀這篇文章很有趣: http : //msdn.microsoft.com/en-us/magazine/dd942833.aspx

如果您使用 VS10 制作一個小型 ASP.NET (webforms) 應用程序和一個小型 ASP.NET MVC 2 應用程序,並檢查它們之間的差異。 這是一個很好的學習方式。

與 ASP.Net Web 表單一樣,ASP.Net MVC 是在 Microsoft .net 框架中構建 Web 應用程序的開發模型。 它們之間的主要區別是 ASP.net MVC 基於 MVC 架構。 我們有 3 個獨立的層——模型、視圖控制器,它們相互交互以呈現 HTML 輸出。

主要區別

  1. Web 表單主要有一個事件驅動模型。 我們有頁面級事件(Page_load、pre render、page_init 等)和控制級事件。 MVC 的情況並非如此。 請求生命周期比較復雜。(為什么復雜是因為,請求在呈現 HTML 輸出之前必須經歷所有事件)

  2. Web 表單基本上有一個包含 UI 控件和代碼隱藏文件的 aspx 頁面。 所有頁面級事件和控制級事件都在這里處理。 在MVC中,視圖、模型、控制器可以獨立存在(給出明確的關注點分離)

  3. SOC 使開發更容易,因為我們可以為 View(設計 html)和控制器(實現業務邏輯)提供單獨的開發人員

  4. 由於這種緊密耦合的性質,Web 表單不適合單元測試。 在 MVC 中,我們可以在控制器級別和操作方法級別編寫單元測試。 在這里,我們可以模擬要傳遞給視圖的數據,並為它們的不同屬性(如視圖名稱、模型屬性、空檢查等)斷言來自 action 方法的結果

  5. 在 Web 表單中,我們有狀態完整的行為。 ASPX 頁面中的服務器控件使用視圖狀態在請求響應周期中保持它們的狀態。 由於此視圖狀態作為隱藏控件存儲在頁面本身內部,並且它們在請求和響應周期中發送,因此它們更重。 MVC 沒有視圖狀態和狀態較少的特性使其重量更輕。 因此,它們在請求生命周期中要快得多。

ASP.NET 是一個網絡平台。 它提供了一個位於 Web 服務器之上的層,便於創建 Web 應用程序和 Web 服務。 ASP.NET 是一個專門用於構建 Web 應用程序的框架。 它位於 ASP.NET 並使用 ASP.NET 提供的 API。 ASP.NET Web Forms 是另一個專門用於構建 Web 應用程序的框架,新的 ASP.NET Web API 是構建 Web 服務的平台

ASP.NET 是一個 2 層應用程序,其中沒有單獨的數據庫部分,MVC 是一個 3 層應用程序,其中視圖和邏輯保持分離。 在 ASP.NET 中,每個.aspx表單都會生成一個 URL,但在 MVC 中,URL 是基於控制器和路由器配置生成的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM