Windows Communication Foundation (WCF):
WCF is used to create a distributed and interoperable Applications. It provides a framework which is used for building service-oriented-connected applications for the transmission of the data as an asynchronous, from one service-point to other service-point. Previously known as Indigo and is a framework for building, configuring, and deploying network-distributed services.
Web Application Programming Interface (Web API):
To create web applications ASP.NET provide the 3 development styles which are ASP.NET Web Pages, ASP.NET MVC, Web Forms.It is like a webservice or WCF service but the exception is that it only supports HTTP protocol.
Difference between WCF and Web API:
|1||WCF ships with .NET framework to create secure, reliable, and high profile development solutions.||While, WEB API is a open source and also ships with .NET framework.|
|2||WCF offers supports for limited RESTFUL service.||WEB API is ideal for building RESTFUL services.|
|3||WCF used the web.config and attributes to configure a HttpConfiguration class||Web API can be configured using web.config service.|
|4||It depend on the attributes based programming model.||WEB API maps http verbs to methods|
|5||WCF does not provide any support for MVC features like controllers, routing, filter, auction results, etc.||ASP.NET Web API supports MVC features like routing, controllers, results, filter, action, etc.|
|6||It is not open source software.||It is shipped with.Net framework.It is also available as an independent download.|
|7||It rely on IIS hosting, Self-hosting & works activation services.||It rely on Self-hosting & IIS hosting.|