2015-06-12 145 views
1

我已經探討了ASP.net的Web API框架和MVC 4.我明白使用Web API只返回數據,那麼在客戶端,我們使用JavaScript的角度來看,AJAX來處理所有的行動通過HTTP動詞。另一方面,MVC控制器可以返回數據並查看我們可以通過控制器中的[HttpPost]處理事件。ASP.net Web應用程序結構混亂

我看到一些人,他們做2個項目在一個解決方案:一個是網絡API在MVC 4,另一個是MVC 4互聯網應用。這是個好主意嗎?我沒有看到兩種項目之間的關係。任何人都可以向我解釋兩個項目如何相互溝通,這種方式的優點和缺點是什麼?

注:本解決方案,他/她仍然使用Httppost來處理事件,並使用MVC控制器返回視圖與模型綁定。

回答

1

嗯,我想這將是一個務實的對話......

對於初學者來說,這似乎是在Asp.net的WebAPI和Asp.net MVC打算在Asp.Net V-接下來要對齊,所以會有一個基本控制器類,它將返回你所希望的數據類型(ActionResult,Json等)。

從近幾年的經驗來看,我認爲趨勢是有一個暴露數據的WebApi和一個只有JS代碼的Web應用程序,沒有C#代碼,只需從瀏覽器調用Api就可以做什麼它需要做的。

所以這樣,我們基本上一個HUP保存到服務器(MVC服務器),我們可以直接調用來自瀏覽器的API。

但是有些人仍然會爭論負載均衡,縮放,緩存等,你可以有,如果你保持MVC三層有,但仍然是所有這些東西可能在的WebAPI和JS應用也做...

所以長話短說,我認爲,如果你想與我想你應該有一個RESTful API去和你的客戶從瀏覽器的JavaScript直接調用它的趨勢移動...

+0

一個問題:是什麼您通常用於使用RESTful API執行網站的常用工具和javascript –

+0

@TranDuyLinh我使用Asp.Net WebApi來實現REST服務,因爲我一直在致力於微軟項目,所以顯然t嘿帳篷使用自己的產品,和KnockoutJS爲我們的前端代碼... – Aram