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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

Asp.Net中WebForm与MVC,Web API模式对比

發布時間:2023/12/10 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net中WebForm与MVC,Web API模式对比 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

webform,web mvc和web api都是asp.net官方的三套框架,想對比下三者的關系,查了下資料,web api跟web mvc基本同屬一脈,只是mvc多了一個視圖渲染,網上有些博客介紹了webform和mvc底層源碼實現的不同,但不夠直觀簡潔,博客園有一篇博客,很簡潔的說明的兩者的關系,出于學習和記錄的原因,進行了復制轉載?
http://www.cnblogs.com/chay1227/archive/2013/03/11/2953301.html

Asp.net Web開發方式,分為兩種:

1. WebForm開發

2. Asp.Net MVC開發

MVC是微軟對外公布的第一個開源的表示層框架,MVC目的不是取代WebForm開發,只是web開發的另一種選擇。兩者最本質區別是請求url不同,MVC是將請求交給控制器處理,而WebForm是將請求交給請求頁的后臺文件(.cs文件的Page_Load)處理。

MVC優點:
1. 很容易將復雜的應用分成M、V、C三個組件模型,通過model、view、controller有效的簡化了復雜的架構,將處理后臺邏輯代碼與前臺展示邏輯進行了很好的分離。
2. 因為沒有使用server-based forms,所以程序員控制的會更加靈活,頁面更加干凈,沒有viewstate。
3. 通過修改路由規則,可以控制生成自定義的url,因此控制生成seo友好的url將更加容易。
4. 強類型view實現,更安全,更高效。


WebForm優點:
1. 支持事件模型開發。有豐富的服務器端組件。
2. 控件豐富


WebForm缺點:
1. 封裝太強,很多底層東西讓初學者不是很明白,
2. 自定義控制不靈活,
3. ViewState處理。

作者:龍Ryze
鏈接:https://www.zhihu.com/question/46369458/answer/144963042
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
?

"WebApi和MVC有什么區別?"

首先要重點說的是,Web API是一種無限接近于RESTful風格的輕型框架,且不是微軟提出來的,微軟在.NET上實現了這中框架—http://Asp.Net Web API,所以“微軟包裝”是一個極大的偏見。

我在公司經歷了從 MVC 轉到 “Web API + 其他框架”的過程,為什么要這么做?

從需求的根本上來看,業務的布局和擴張導致是根本原因。我們要求,數據庫數據不只能夠對 Web 程序服務,對其他業務也行,甚至可以根據數據接口開放給第三方。例如,MVC 業務中,可以在前端用AJAX獲取和更新數據,也可以在后臺用 HttpClient, 調用的方式不限,數據格式完全由調用方決定(XML 和 JSON 也是足夠了)。

為什么不用 MVC 來做?

MVC 框架負責的東西太多了,我們可以說它是一個重量級的框架,因為它負責了數據接口,邏輯運算和View層的顯示,為了減少 Controller 層的代碼量,我們甚至還在三層架構上加了 DAL 和 BLL 層。除此之外,MVC 只能運行在 IIS 和 新出來的 DotNetCore 中,宿主選擇比較少。

?

Web API 和 MVC可以說是兩個不同的東西。Web API更傾向于基于HTTP協議的服務,直接返回用戶的數據請求。MVC是建站的一種框架,傾向于返回用戶的頁面請求。

?

我總結了以下 http://ASP.NET Web API 的特性,更能說明Web API是一種數據請求框架:

  • http://ASP.NET Web API 可以根據請求報文來返回的相應數據格式。包括JSON和XML。
  • http://ASP.NET Web API 單獨做數據請求和MVC做頁面請求可以讓Web前端和后臺更好的解耦,減少開發難度。
  • Web API 可以更好地用在移動端網頁、桌面端網頁或者桌面程序,調用方更加多樣化。
  • Web API 的宿主可以選擇多樣:WebHost,,ConsoleHost,甚至是windows Services。
  • ?

    作者:潘成濤
    鏈接:https://www.zhihu.com/question/46369458/answer/101099849
    來源:知乎
    著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
    ?

    推薦看看蔣金楠的兩本框架揭秘。

    使用上區分,mvc主要用于建站,web api主要用于構建http服務,當然你非要用mvc來構建Uri式的Api也行,不過顯然是沒有這個必要的,一個不恰當的比喻就像是你也可以玩破解版的單機游戲,也可以通過平臺進行聯機,但是始終不如steam上來得爽是吧。

    ?

    自身實現上區分的話,兩種框架主要是在Asp .Net的基礎上進行改造,主要是對HttpModule和HttpHandler做了擴展,實現方法是不一樣的,比如說前者更像是在一層上建了第二層,引伸出更強大的路由機制,實現了諸如MvcHandler和ControllerFactory這種消息處理和后臺控制器方法選擇機制,Web Api除了擴展了前者以外,另外寫出了一套獨立的,獨立于Asp .Net的消息處理管道,就像是借鑒原來房子的模型,重新設計出了另外一套別墅。這也很好地解釋了為什么Web Api可以寄宿在不同的宿主上(寄宿的本質就是利用一個具體的應用程序為Web Api提供一個運行的環境,并解決請求的接收和響應的回復),如Web Host,Self Host方式,這和WCF是相似的。而MVC只能寄宿于IIS上(不考慮.net core),就像Webform的寄宿方式。何況它們兩者雖然都有Controller和Action,但是請求的實現和響應的回復機制也是不同的,比如說Web Api處理消息有兩個核心類是HttpRequestMessage和HttpResponseMessage。這兩種框架最多只能說是模式上類似,實現上還是有很大差別的。不過兩者都是Asp .Net的組成成員,圖上表現得很清楚了。

    總結

    以上是生活随笔為你收集整理的Asp.Net中WebForm与MVC,Web API模式对比的全部內容,希望文章能夠幫你解決所遇到的問題。

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