2009-09-06 61 views

回答

2

即使世界實際上是第三個選項,ADO.NET數據Servies。無論如何,在這裏我怎麼看他們。

MVC REST:使您完全控制如何公開數據,您必須編寫所有代碼以使其運行起來,例如,序列化,反序列化,所有CRUD方法等等。由於這是一個MVC站點,這意味着你僅限於通過HTTP通過IIS公開你的服務(012)。 frameowkr比MVC REST,即緩存,安全性,錯誤處理等(基本上所有的東西你必須使用純MVC編寫自己)。作爲WCF,您可以通過各種方式(例如WS-,TCP)來承載此類數據。

ADO.NET數據服務:最快捷的方式啓動運行並準備使用,所有您需要的待辦事項是配置global.asax,但是您必須使用實體數據模型,這是很多人不想要的。個人而言,我會使用ADO.NET DATA SERVICES或WCF REST來構建API,在MVC站點中調用API,然後直接公開該API或通過將其傳遞到另一個層。

+0

實際上,您不必使用實體來使用ADS。 ADS可以使用Linq to SQL,甚至可以使用非關係數據源(只需要更多的工作)。 – 2009-09-07 06:32:55

1

ASP.NET MVC可以作爲輕量級服務工作的REST端點,所以我猜你的問題的答案取決於你如何定義「安全」。

顯然,WCF是專門爲創建REST端點而設計的,它具有隱含的所有安全隱含,而ASP.NET MVC旨在創建可由ASP.NET MVC自身使用的REST端點。

下面的文章展示瞭如何使用ASP.NET MVC控制器創建一個Web服務:

使用ASP.NET MVC這充分說明雙方JSON和純XML創建REST API http://msmvps.com/blogs/omar/archive/2008/10/03/create-rest-api-using-asp-net-mvc-that-speaks-both-json-and-plain-xml.aspx


另請參閱Phil Haack撰寫的以下文章,其中討論了WCF團隊爲ASP.NET MVC用戶提供的SDK:

休息ASP.NET MVC SDK和樣品
http://haacked.com/archive/2009/08/17/rest-for-mvc.aspx

-1

他們是兩套不同的技術,只能通過正在興建的.NET相關

MVC是用來創建網站,並提供其中的URL路由到控制器和控制卡提供意見,以用戶爲模型用戶界面。

WCF是.net中的一組庫,用於抽象服務類型(它是否在Windows服務中託管,作爲IIS中的Web服務等)以及協議(HTTP,TCP,MSMQ等等)來自正在通信的客戶端和服務器。

MVC網站可能會使用WCF連接到Web服務,但這只是許多選項之一。