【问题标题】:WCF Web API vs ASP.NET MVC JSON web services [closed]WCF Web API 与 ASP.NET MVC JSON Web 服务 [关闭]
【发布时间】:2011-05-01 11:27:26
【问题描述】:

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

【问题讨论】:

标签: .net wcf asp.net-mvc-3 rest wcf-web-api


【解决方案1】:

Microsoft 承认这两种产品之间存在一些重叠。但是,它们确实有不同的侧重点:

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

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

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

【讨论】:

  • 这样做的原因是您可以公开除 HTTP/JSON 之外的其他格式/端点? Glen Block 还提到 WCF Web API 更适合已经用 WCF 编写的服务层的客户。
  • @adrin 您“可以”在 ASP.NET MVC 中公开其他格式,这不是 ASP.NET MVC 的主要目标,而它是 WCF Web API 的主要目标。这实际上只是一个焦点问题。
  • @adrin 当然,如果您已经熟悉 WCF,那么过渡会更容易。新位保留了与 WCF REST 3.5 和 4 的大量向后兼容性。
  • 我看到你在 SO 上发布了很多关于 REST 的内容。如果您看过 OpenRasta,您能否对它有所了解?比如项目的当前状态是什么?如何在 .NET 堆栈上创建 RESTful 服务?
  • @Ismail 我只看了一点 OpenRasta,但@Serialseb 知道他在做什么并且非常聪明。 OpenRasta 是固执己见的,如果这些意见与您的一致,那么它会很棒。如果他们不这样做,那么您将不得不在幕后查看,因为它是非常可配置的。但是,您将有一个合理的学习曲线来更改其默认意见。
【解决方案2】:

应要求于 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 演示文稿的链接。

【讨论】:

  • 顶部链接似乎不再相关
  • 更新可能是保持此答案相关性的好主意...
【解决方案3】:

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

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

【讨论】:

  • 它可以在产品中使用,但只能在您自己的公司内使用。您无法将其部署到客户的站点。
【解决方案4】:

区别是白天和黑夜。 MVC 框架不是 Web 服务层。如果您确实需要不同的客户端(并且可能在不同的平台上)使用 Web 服务,那么您将留给choose between a WCF-based web service or an old-fashioned XML web service

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-21
    • 2012-03-10
    • 2012-05-30
    • 2012-03-19
    • 2015-01-03
    • 2010-10-22
    相关资源
    最近更新 更多