日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

【原创】关于ASP.NET WebForm与ASP.NET MVC的比较

發布時間:2023/12/10 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【原创】关于ASP.NET WebForm与ASP.NET MVC的比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WebForm的理解

1、?WebForm概念

ASP.NETWebform提供了一個類似于Winform的事件響應GUI模型(event-drivenGUI),隱藏了HTTP、HTML、JavaScript等細節,將用戶界面構建成一個服務器端的樹結構控件(Control),每個控件通過ViewState保持自己的狀態,并自動把客戶端的js事件和服務器端的事件聯系起來。這種做法使得開發WinForm和WebForm程序具有相近的開發體驗,填平WinForm開發(有狀態、面向對象的)和WebForm開發(無狀態、面向HTML的)之間的鴻溝。

2、WebForm 請求流程

比如訪問 http://www.qidian.com/Default.aspx

1、Http請求(物理地址:Default.aspx)

①發送請求: 瀏覽器向服務器發送請求報文,此時由IIS虛擬目錄接收。(通過配置過IIS,把網站掛載在服務器上,通過訪問虛擬目錄的方式訪問網站的。)

②轉交請求: 服務器端的IIS軟件接收到請求后,把請求交給.NET FrameWork進行處理。

③創建頁面類對象:.NET FrameWork根據請求的地址index.aspx,會創建對應的index_aspx類的對象(頁面對象)。

IIS的內部機制:

實現一個IHttphandler的接口

該接口實現一個ProcessRequest方法

該方法會調用對應頁面的Page_load方法

處理的業務邏輯或者是訪問數據庫的代碼

要輸出的Html或者其它內容

2、返回給瀏覽器

①轉交回復: 通過IIS傳輸出給瀏覽器,要輸出的html元素或其他內容(html+js+css等)

②解析為圖形界面:瀏覽器解析html代碼,并翻譯為圖形化界面

如圖:

2、?WebForm的優點:

1.???有大量的服務器控件支持,比如:GridView、Repeater等控件可以方便的進行數據綁定,從而減少的大量代碼的編寫。

2.???學習成本低,由于微軟封裝的比較深,造成深入學習的難度加大。

3.???基于事件驅動編程,如:click事件等,aspx和cs文件分離,即顯示邏輯和處理邏輯分離。

4.???支持視圖狀態,每個控件以“隱藏域”的形式存在當前表單頁面未達到“有狀態”,即ViewState。

3、?WebForm的缺點

1.???由于使用的ViewState會增加頁面的負擔,造成性能不是很高。

2.???代碼重用性不高,缺少對并行開發的支持,

3.???因為采用code-behind 代碼后植技術,使aspx頁面與cs緊密耦合度太高。

4.???對Seo不友好,因為URL指定具體的aspx頁面。

5.???因為緊密耦合度太高、使用大量的事件處理函數,不利于單元測試。

二、???????MVC的理解

1、?MVC的概念

Asp.netMvc架構模式是一種 低耦合、可測試的web應用程序框架,它是基于CLR和成熟的MVC架構構建的。ASP.NET MVC不支持ViewState和服務器控件。

2、?MVC的請求流程

比如訪問:http://www.google.com.hk/FirstPage/Default

1、Http請求(邏輯地址:FirstPage/Default)

①發送請求(FirstPage/Default)

②轉交請求(同上)

③創建類對象+方法

.NET FrameWork根據路由配置,解析URL,并創建news類的對象,并調用對象的index方法。通過View方法加載視圖,然后訪問視圖文件夾下的index.cshtml

2、返回給瀏覽器

如圖:

3、?MVC的優點

1.???架構降低了程序間的耦合性。

2.???不支持ViewState,頁面更加干凈,可以提升程序的性能。

3.???支持并行開發,可擴展性好,繼承了asp.net的特性,表單驗證、緩存、會話等。

4.???由于程序耦合度低,可以比較順利的進行單元測試。

5.???通過修改路由規則,可以控制生成自定義的url,因此控制生成seo友好的url將更加容易。

6.???強類型view實現,更安全,更高效。

4、?MVC的缺點

需要有一定的html、css、js、jquery前端技術,也就增加了一些學習的成本。

MVC和WebForm的選擇場景

新開發的項目建議采用MVC。

想要快速開發的中小型項目可以選擇WebForm。

比較關注單元測試、性能、SEO、代碼重用性的話建議采用MVC。

最后結語

MVC和WebForm都有自己的優缺點,目前兩種技術都存在,證明都有自己的價值,雖然現在MVC應用越來越廣發,我們不能一味的否定WebForm。一個高級程序員用WebForm實現的網站性能并不一定比初級程序員用MVC實現的網站性能差,最重要的還是努力提升自己的技術能力才是王道!

歡迎關注我的公眾號:DoNet技術分享平臺?

總結

以上是生活随笔為你收集整理的【原创】关于ASP.NET WebForm与ASP.NET MVC的比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。