2011-05-01 203 views
26

使用新的WCF Web API比使用ASP.NET MVC 3公開輕量級JSON Web服務層有什麼優勢? 我以許多方式喜歡Web API,但缺點是它不適用於單聲道而MVC 3。這兩種方法之間的主要區別是什麼?WCF Web API vs ASP.NET MVC JSON web服務

+0

[在.NET中實現RESTful體系結構的最佳方式是什麼?](http://stackoverflow.com/questions/4318196/what-is-the-best-way-to-implement-一個寧靜的架構在網絡中) – 2011-05-01 11:30:07

+3

你有沒有聽過Glenn Block最近的Hanselminutes?這個主題會被詳細討論。 HTTP://www.hanselman。com/blog/HanselminutesPodcast264ThisIsNotYourFathersWCFAllAboutTheWebAPIWithGlennBlock.aspx – 2011-05-01 12:20:01

回答

2

我相信這個問題的目標是新的WCF Web API,因爲它不是一樣的問題鏈接爲重複。

WCF Web API消除了當前WCF Rest支持的一些限制,但Web API的主要缺點是它只是一個草稿 - 當前預覽4.它沒有支持,可能它不應該用於生產環境。此外,任何新版本都可以引入重大更改或刪除以前版本中提供的整套功能。正因爲如此,您應該使用ASP.NET MVC構建輕量級JSON服務層。

+2

它可以在prod中使用,但只能在你自己的公司內使用。您無法將其部署到客戶的網站。 – 2011-05-01 12:21:08

8

微軟公認這兩種產品有一些重疊。然而,他們有不同的側重點:

  • 如果你正在建設一個網站,從您的Web服務使用JSON然後MVC可能是最好的選擇。

  • 如果您正在構建旨在被各種第三方客戶端使用的API,那麼WCF Web API是最佳選擇。

我個人的原因包括與WCF的Web API意味着我可以自我主機在Windows服務中,我也能避免ASP.NET,web.config文件和卡西尼:-)

+0

原因是您可以公開其他格式/端點而不是HTTP/JSON? Glen Block還提到WCF Web API更適用於已經在使用WCF編寫服務層的客戶。 – adrin 2011-05-01 12:33:50

+0

@adrin你可以「暴露」ASP.NET MVC中的其他格式,但這不僅僅是ASP.NET MVC的主要目標,而是WCF Web API的主要目標。這實際上只是一個焦點問題。 – 2011-05-01 12:36:21

+0

@adrin當然,如果你已經熟悉WCF,那麼它將是更容易的過渡。新的位保留了很多與WCF REST 3.5和4的向後兼容性。 – 2011-05-01 12:39:21

3

事實根據要求更新6/24/14:

什麼是現在的ASP.NET Web API(以前稱爲WCF Web API)和ASP.NET MVC將正式合併到當前稱爲ASP.NET vNext(MVC 6)的內容中。

http://www.asp.net/vnext/overview/aspnet-vnext/overview

========================================= ==================================

原來的答覆:

據宣佈,昨日( 2/8/2012)項目正式合併。請參閱:

http://www.c4mvc.net/meeting/?id=25

http://msdn.microsoft.com/en-us/hh824721

的c4mvc鏈接應該鏈接到丹·羅斯的演講很快被更新。

+0

頂部鏈接似乎不再相關 – 2014-05-22 15:28:10

+0

更新可能是一個好主意,以保持這個答案有關... – Nenotlep 2014-06-24 13:05:03

+1

@Nenotlep完成! – 2014-06-24 16:20:02