ASP.NET Web API is a platform for creating web services that are viewed through HTTP. It is very well suited for (but not limited to) creating RESTful web services.
These web services are an alternative to creating SOAP RPC / WS * web services because they are simpler, have less weight and less communication between the client and server.
The traditional WCF service supports SOAP RPC rather than REST, and these services are complex and have a tight connection between the client and server. Wide interoperability can be difficult to achieve. However, the traditional WCF service can communicate over a wide range of protocols - TCP is especially useful for internal services (services in the same DMZ).
(While WCF is mainly associated with RPC-style SOAP services, there are at least three attempts at WCF to support the creation of RESTful web services. All of these attempts have been superseded by ASP.NET web APIs.)
ASP.NET Web API is best for creating RESTful public web services, as well as hyperlink APIs over HTTP. To do this, it is important to understand the REST architectural style well before embarking on the ASP.NET Web API. See books like REST in Practice, RESTful Web Services Cookbook, and Creating a Hyperlink API with HTML5 and Node.
Andrew Webb
source share