自上个月以来,这个Asp.Net Web API似乎是微软的一个突出产品。它是WS *服务的替代品。它与WCF服务有什么不同?我们在哪里可以看到它最适合Web应用程序开发?
答案 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服务有更多的优势,下表提供了它们之间的详细差异。