Asp.Net Web API和WCF服务有什么区别?

时间:2012-02-27 08:40:38

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

自上个月以来,这个Asp.Net Web API似乎是微软的一个突出产品。它是WS *服务的替代品。它与WCF服务有什么不同?我们在哪里可以看到它最适合Web应用程序开发?

2 个答案:

答案 0 :(得分:9)

ASP.NET Web API是用于构建通过HTTP公开的Web服务的框架。它非常适合(但不限于)构建RESTful Web服务。

此类Web服务是构建SOAP RPC / WS * Web服务的替代方法,因为它们更简单,更轻,并且客户端和服务器之间的耦合更少。

传统的“WCF服务”支持SOAP RPC而不是REST,这些服务往往很复杂,并且在客户端和服务器之间具有紧密耦合。广泛的互操作性可能变得难以实现。但是,传统的WCF服务可以通过各种协议进行通信 - TCP对内部服务(同一DMZ中的服务)特别有用。

(虽然WCF主要与SOAP RPC样式的服务相关联,但WCF中至少有三次尝试支持构建RESTful Web服务。这些尝试都已被ASP.NET Web API取代。)

ASP.NET Web API最适合通过HTTP生成面向公共的RESTful Web服务(即超媒体API)。为此,在开始使用ASP.NET Web API之前,充分了解REST架构风格非常重要。请参阅“REST in Practice”,“RESTful Web Services Cookbook”和“使用HTML5和Node构建超媒体API”等书。

答案 1 :(得分:-2)

Difference between ASP.net Web API and WCF API

Web服务是WCF的一部分。与Web服务进行比较时,WCF提供了更多的灵活性和可移植性来开发服务。我们仍然比Web服务有更多的优势,下表提供了它们之间的详细差异。