In a fast-paced development environment, it could be a tricky decision to make whether to use WEB API or WCF (Windows Communication Foundation). Both can be self-hosted or hosted in IIS.
WCF is a best fit for scenarios like message queues, duplex communication, end-to-end message security, one way messaging, distributed transactions, etc. WEB API is a best fit to create a resource-oriented services using HTTP/Restful and it works well with MVC-based applications.
WCF was created to develop SOAP-based services and bindings. Since WCF is SOAP based, which uses standard XML schema over HTTP, it could lead to slower performance. WEB API is a better choice for simpler, light weight services. WEB API can use any text format including XML and is faster than WCF.
WEB API can be used to create full-blown REST Services. WEB API doesn’t require any data contracts and doesn’t require configurations to the level of WCF.
If performance and quick development cycles are your criteria, WEB API is a better choice over WCF.
The table below provides a comparison between WEB API and WCF.
||Any media format
||URL Patterns, HTTP methods
||Stateless with Per Call
||Built in to HTTP Prefer application control
||Handled by application
||HTTP status codes filters, exceptions