2011-05-01 204 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