iT邦幫忙

1

C# HttpResponse.Write 問題

需求:今天我寫一個頁面讓別人可以藉由Post的方式呼叫,判斷完資料是否正確在回傳訊息回去

  • 下面有兩種方式
    • 使用Web Form網頁的方式,資料判斷完後直接Response.Write訊息
    • 使用Web API的方式撰寫,直接retrun資料

想請問一下這兩種方式都可以正常使用,但兩種方式的差異性是在哪裡?

以下是我自己的見解

  • Web API 本身就是針對訊息傳遞做開發,Web Form網頁雖然也可以達到需求,但並不是專門為資料傳輸而設計,所以兩者開發上還是有差別的
froce iT邦大師 1 級 ‧ 2018-12-11 12:03:15 檢舉
簡單的說啦,web api就是資料和UI分離,你可以回傳JSON,然後再利用JS去把資料作呈現,這樣你改天要開發其他的客戶端就不用重寫server端。
Web Form基本上就是資料和UI耦合在一起。
Ryan iT邦新手 4 級 ‧ 2018-12-16 15:11:06 檢舉
WebAPI最大的優點是網路傳輸量少,這在大量被呼叫使用時可以有效減輕系統和網路的Loading加快回應速度,也就是這個明顯的優勢才能順利取代Web Service,而且Web Service的網路傳輸量也比WebForm少,所以要看什麼用途再來找適當的方式實作。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
Homura
iT邦高手 1 級 ‧ 2018-12-11 13:27:26
最佳解答

Web API 本身就是針對訊息傳遞做開發,Web Form網頁雖然也可以達到需求,但並不是專門為資料傳輸而設計,所以兩者開發上還是有差別的

你的理解正確
如果把WebForm當成API來寫會變得非常難用
因為架構本身就不是設計成來寫這種東西

WebForm只回覆資料還有另一種寫法是使用泛型處理常式 (.ashx)
可以指定回覆格式,沒有前端的頁面,缺點是無法編譯成.dll

WebAPI才是用來做資料傳輸用的程式,使用MVC做分層,不過他沒有頁面所以沒有View的部分
它的前身是WebService,但是只能傳輸XML已經被淘汰了

註 : WebAPIWebService不是指字面上的意思,指的是ASP.NETWebServiceWebAPI專案

0
小魚
iT邦大師 1 級 ‧ 2018-12-11 12:24:16

我沒用過Web API,
不過聽起來就是專門為API而做的,
ASP.NET(就是Web Form)原本是拿來設計網頁的,
只是他也可以做成沒有頁面顯示只有API的功能,
不管黑貓白貓,
反正能抓老鼠就是好貓,
不過我比較喜歡用ASP.NET MVC來寫API,
改天來試試 Web API...

0

我用實際的範例大約解釋一下好了。

Web API:
就像是自動販賣機。你可以給任何人去賣你的東西。只要對方肯提供一個位置給你放。
用這樣的方式,能賣的東西會容易被限制。還得要小心是否會被拆台。
當然優點就是可以隨時提供給其它人使用。

Web Form:
就像是小雜貨店。你只能在自已的家裏,或是租店面來賣東西。
只能在一個空間跟地方。人家要來買東西一定得來這裏。
當然優點是,你想賣啥都行。

大約就是這樣的概念

我要發表回答

立即登入回答