效能差異 ASP.NET與ASP.NET MVC

來源:互聯網
上載者:User

標籤:form   htm   運行   部門   開發   輸出   div   後台   ack   

一、為什麼說 ASP.NET WebForm 比 ASP.NET MVC 要差?  WebForm 顧名思義,微軟一向主打簡單化,表單模式,拖拽控制項就能做網站了,  然而這也引發了許多 Java 和 .NET 語言好壞(效能)的爭議,  很早的時候部門老大不讓用伺服器控制項,現在才明白是為什麼。   我們不得不考慮的問題是,既然ASP.NET Web Form 如此成功且具有優勢,為什麼微軟還要推出ASP.NET MVC?  主要是因為ASP.NET Webform的效能問題。在Web應用程式中從兩方面來定義效能:   1. 回應時間: 伺服器響應請求的耗時   2. 頻寬消耗: 同時可傳輸多少資料。     回應時間  我們可以理解為什麼ASP.NET Webform比較慢,我們做了一些小的載入測試。  分別使用ASP.Net MVC和ASP.Net Webform,發現ASP.Net MVC的回應時間比Webform快了兩倍。   接下來我們在思考一個問題為什麼ASP.NET MVC的效能更好?看看下面這個樣本,簡單的UI代碼和UI的後台代碼。   通過分析我們可以得知,每一次請求都有轉換邏輯,運行並轉換伺服器控制項為HTML輸出。如果我們的頁面使用表格,樹形控制項等複雜控制項,   轉換就會變得很糟糕且非常複雜。HTML輸出也是非常複雜的。由於這些不必要的轉換從而增加了回應時間。   該問題的解決方案就是擺脫後台代碼,寫成純HTML代碼。     頻寬消耗  ASP.NET開發人員都非常熟悉Viewstates,因為它能夠自動儲存post返回的狀態,減少開發時間。  但是這種開發時間的減少會帶來巨大的消耗,Viewstate增加了頁面的大小。  在做的載入測試中,與MVC 對比,我們發現Viewstate增加了兩倍的頁面儲存。     1、HTML 消耗  現在因為我們都是後台代碼和ASP.NET web server控制項的努力,我們對於怎樣得到HTML以及如何使他們更有效沒有更好的辦法。  如下面展示的ASPX 代碼,你能確定會產生什麼樣的HTML代碼嗎?  2、後台代碼類的重用性  如果仔細觀察一些專業的ASP.NET Webform項目,你會發現後台代碼類往往都包含了大量的代碼,並且這些代碼也是非常複雜的。  而現在,後台代碼類繼承了“System.Web.UI.Page”類。但是這些類並不像普通的類一樣能夠到處複用和執行個體化。  換句話來講,在Weform類中永遠都不可能執行以下代碼中的操作:

效能差異 ASP.NET與ASP.NET MVC

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.