So now
we have got the basic idea about Web API, now let’s do some comparison of Web
API with WCF and web services.
Web
Service
|
WCF
|
Web
API
|
Web
services are created as files with .asmx extension.
|
WCF
create with .svc extension
|
Web
API are simple class file with .cs(for C#) extension. Web API is inherited
from “ApiController” and the class name must end with “Controller”.
|
It is SOAP
based service and returns data in XML form.
|
It is
also based on SOAP and returns data in XML form.
|
Web
API is HTTP based service and by default, it returns data in JSON or XML form.
|
It
supports only HTTP protocol.
|
It supports
various protocols like TCP, HTTP, HTTPS, Named Pipes, and MSMQ.
|
It
supports HTTP protocol.
|
It can
be hosted only on IIS.
|
It can
be hosted within the application or on IIS or using window service.
|
It can
be hosted within the application or on IIS.
|
It is
not open source but can be consumed by any client that understands XML.
|
It is
not open source but can be consumed by any client that understands XML.
|
It is
open source and can be consumed by any client that understands JSON or XML.
|
It
requires SOAP protocol to receive and send data over the network, so it is
not a lightweight architecture
|
WCF supports various protocols and different types of binding due to which it is known as heavyweight architecture.
|
It is
lightweight architecture and good for devices that have limited bandwidth
like mobiles.
|
It can’t
be used to create REST-ful services
|
We can create REST-ful services with WCF by
enabling webHttpBindings, but service configuration is difficult.
|
Web
API is an ideal platform for building REST-ful services, and its service
configuration is very easy compared to WCF service.
|
It
supports data transfer in XML format.
|
It
supports XML, JSON, and ATOM data formats.
|
It
supports XML and JSON data formats. Responses can be formatted by Web API’s
MediaTypeFormatter into JSON, XML, or whatever format you want.
|
It
doesn’t support MVC features
|
It
doesn’t support MVC features
|
It also
supports the MVC features such as routing, controllers, action results,
filter, model binders, IOC container or dependency injection, and unit testing
that makes it more simple and robust.
|
hi
ReplyDeleteGood one this article also useful http://goo.gl/T29A5B
ReplyDeletehi
ReplyDelete
ReplyDeleteGiven so much information in it. its very useful .perfect explanation about Dot net framework.Thanks for your valuable information. dot net training and placement in chennai | dot net training institute in velachery