何时使用WCF REST和WEB API

时间:2016-03-17 14:54:22

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

我对这两种技术感到困惑,即 WCF REST asp.net WEB API 。这两者有什么区别吗?何时应该使用另一个?

3 个答案:

答案 0 :(得分:2)

  

我对这两种技术很不安,即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的支持更为完整,并且将在ASP中进行所有未来的REST功能改进。 NET Web API 。如果您有现有的WCF服务并且希望公开其他REST端点,请使用WCF和WebHttpBinding。 - Tell me more

OP:

  

何时应该使用另一个?

  • 如果您的目的是创建SOAP服务,或者您有现有WCF服务,请使用带有JSON编码端点的WCF。

  • 如果您的目的是创建REST服务,特别是在新应用程序中,那么请使用ASP.NET Web API。

答案 1 :(得分:-1)

这取决于你想要选择其中一个

基本上,通过WCF,您可以创建基于服务的应用程序 但是使用ASP.NET Web Api,您可以基于Http或Https创建Restful服务。

答案 2 :(得分:-1)

REST和WCF是来自不同世界的含义:) REST是用于开发Web服务的规范(换句话说,一组约定)。 REST不依赖于某些特殊技术/平台/框架或语言。 WCF是用于Web服务的Microsoft方法,本身主要用于开发基于RPC架构的SOAP服务。 RPC(远程过程调用)是一种将Web服务开发为一组带参数的方法的方法,这些方法正在做一些工作。 REST更加面向HTTP,主要概念是与某些实体(Representational State Transfer)一起运行并对这些实体执行操作,而不仅仅是调用某些方法。可以使用WCF技术构建一些REST服务,但在我看来,WCF不是实现这一目标的好方法。