25

在 ASP.NET MVC 3 上使用新的 WCF Web API 来公开轻量级 JSON Web 服务层有什么优势?我在很多方面都喜欢 Web API,但缺点是它不适用于单声道,而 MVC 3 可以。这两种方法的主要区别是什么?

4

4 回答 4

8

微软承认,这两种产品之间存在一些重叠。但是,他们确实有不同的关注点:

  • 如果您正在构建一个使用来自 Web 服务的 JSON 的网站,那么 MVC 可能是最佳选择。

  • 如果您正在构建一个旨在供各种第三方客户端使用的 API,那么 WCF Web API 是最佳选择。

我个人的原因包括这样一个事实,即使用 WCF Web API 意味着我可以在 Windows 服务中自托管,并且我可以避免使用 ASP.NET、web.config 和 Cassini :-)

于 2011-05-01T12:32:10.810 回答
3

应要求于 2014 年 6 月 24 日更新:

现在的 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 链接应尽快更新为 Dan Roth 演示文稿的链接。

于 2012-02-09T22:14:18.860 回答
2

我相信这个问题针对的是新的WCF Web API,因此它与链接为重复的问题不同。

WCF Web API 消除了当前 WCF Rest 支持的一些限制,但 Web API 的主要缺点是它只是一个草稿 - 目前是预览版 4。它没有支持,可能不应该在生产环境中使用。此外,任何新版本都可以引入重大更改或删除以前版本中可用的整套功能。因此,您应该使用 ASP.NET MVC 来构建轻量级 JSON 服务层。

于 2011-05-01T11:56:01.267 回答
-4

区别是白天和黑夜。MVC 框架不是 Web 服务层。如果您确实需要不同的客户端(并且可能在不同的平台上)使用 Web 服务,那么您只能在基于 WCF 的 Web 服务或老式 XML Web 服务之间进行选择

于 2011-05-01T11:40:23.670 回答