【发布时间】:2016-07-04 00:18:57
【问题描述】:
我对这两种技术,即WCF REST 和asp.net WEB API 有点困惑。这两者有什么区别吗?什么时候应该使用一个而不是另一个?
【问题讨论】:
标签: wcf asp.net-web-api wcf-rest
我对这两种技术,即WCF REST 和asp.net WEB API 有点困惑。这两者有什么区别吗?什么时候应该使用一个而不是另一个?
【问题讨论】:
标签: wcf asp.net-web-api wcf-rest
我对这两种技术(即 WCF REST 和 asp.net WEB API)有点困惑。这两者有什么区别吗?
是的。两者都是提供 REST 样式服务的一种方式,但竞争技术生来不同。
WCF REST 自然来自最初是 SOAP 的 WCF 世界。 WCF REST 通过提供基本的 JSON 有效负载而不是 SOAP 来改变这一点。然而,WCF REST 缺少某些功能,微软表示更新的 REST 功能只会进入 ASP.NET Web API。
与 WCF REST 不同,ASP.NET Web API 是为 REST 样式的 JSON 服务而设计的。
MSDN:
虽然 WCF 为编写 REST 风格的服务提供了一些支持,但ASP.NET Web API 中对 REST 的支持更加完善,所有未来的 REST 功能改进都将在 ASP 中进行。 NET Web API。如果您有现有的 WCF 服务并且想要公开其他 REST 终结点,请使用 WCF 和 WebHttpBinding。 - Tell me more
操作:
什么时候应该使用一个而不是另一个?
如果您的意图是创建 SOAP 服务,或者您有现有的 WCF 服务,请使用带有 JSON 编码端点的 WCF。
如果您的意图是创建 REST 服务,尤其是在新应用程序中,请使用 ASP.NET Web API。
【讨论】:
这取决于你想做什么来选择其中一个
基本上,您可以使用 WCF 创建基于服务的应用程序 但是使用 ASP.NET Web Api,您可以创建基于 Http 或 Https 的 Restful 服务。
【讨论】:
but with ASP.NET Web Api you can create Restful services based on Http or Https 也可以应用于 WCF REST
REST 和 WCF 是来自不同世界的含义 :) REST 是用于开发 Web 服务的规范(换句话说,一组约定)。 REST 不依赖于某些特殊的技术/平台/框架或语言。 WCF 是用于 Web 服务的 Microsoft 方法,本机预定义为开发基于 RPC 架构的 SOAP 服务。 RPC(远程过程调用)是一种将 Web 服务开发为一组带有参数的方法的方法,这些方法正在做一些工作。 REST 更面向 HTTP,主要概念是操作一些实体(Representational State Transfer)并对这些实体执行操作,而不仅仅是调用一些方法。使用 WCF 技术构建一些 REST 服务是可能的,但在我看来,WCF 不是实现此目标的好方法。
【讨论】: