SlideShare a Scribd company logo
S.No WCF ASP.NET Web API
1 What is WCF ?
WCF is Microsoft’s unified programming
model for building service-oriented
applications. It enables developers to build
secure, reliable, transacted solutions that
integrate across platforms and interoperate
with existing investments.
What is ASP.NET Web API ?
ASP.NET Web API is a framework that
makes it easy to build HTTP services that
reach a broad range of clients, including
browsers and mobile devices. ASP.NET Web
API is an ideal platform for building RESTful
applications on the .NET Framework.
2 Protocol Support:
HTTP, TCP, UDP, and custom transports.
i.e., Enables building services that support
multiple transport protocols (HTTP, TCP,
UDP, and custom transports) and allows
switching between them.
Protocol Support:
HTTP only.
i.e, Provides first-class programming model
for HTTP.More suitable for access from
various browsers, mobile devices etc enabling
wide reach.
3 Message Exchange Patterns:
Request-Reply, One-Way & Duplex
Message Exchange Patterns:
By default Request-Reply only.But additional
message exchange patterns can be supported
through SignalR and WebSockets integration.
4 Hosting:
Self Hosting, IIS Hosting & Windows
Activation Service.
Hosting:
Self Hosting & IIS Hosting
5 Open Source or Licensed ?
It is not an open source .Ships with the
.NET framework. It can be consumed by
any client that understands xml.
Open Source or Licensed ?
Ships with .NET framework but is open-
source and is also available out-of-band as
independent download.
6 How to describe WCF services ?
WCF SOAP services can be described in
WSDL allowing automated tools to generate
client proxies even for services with
complex schemas.
How to describe ASP.NET Web API ?
There is a variety of ways to describe a Web
API ranging from auto-generated HTML help
page describing snippets to structured
metadata for OData integrated APIs.
7 Whether it supports MVC features ?
WCF does not support the MVC features
such as routing, controllers, action results,
filter etc.,
Whether it supports MVC features ?
ASP.NET Web API supports the MVC
features such as routing, controllers, action
results, filter, model binders, IOC container or
dependency injection, unit testing that makes
it more simple and robust.
8 Support for higher level protocols:
Supports building services with WS-*
standards like Reliable Messaging,
Transactions, Message Security.
Support for higher level protocols:
There is no support for higher level protocols
such as Reliable Messaging or Transactions.
ASP.NET Web API uses only basic protocol
and formats such as HTTP, WebSockets, SSL,
JQuery, JSON, and XML.
9 Encoding Support:
Text, MTOM, and Binary
Encoding Support:
Supports UTF-8 encoding format by
default .Also, we can add any format as a
MediaTypeFormatter.
i.e., Responses are formatted by Web API’s
MediaTypeFormatter into JSON, XML.
10 When to go for WCF ?
Choose WCF when we want to create a
service that should support special scenarios
such as one way messaging, message
queues, duplex communication etc.
Choose WCF when we want to create a
service that can use fast transport channels
when available, such as TCP, Named Pipes,
or may be even UDP (in WCF 4.5), and we
also want to support HTTP when all other
transport channels are unavailable.
When to go for ASP.NET Web API ?
Choose Web API when we want to create a
resource-oriented services over HTTP that
can use the full features of HTTP (like URIs,
request/response headers, caching,
versioning, various content formats).
Choose Web API when we want to expose our
service to a broad range of clients including
browsers, mobiles, iphone and tablets.
Reference:
http://onlydifferencefaqs.blogspot.in/2014/03/difference-between-wcf-and-aspnet-web.html

More Related Content

Difference between wcf and asp.net web api

  • 1. S.No WCF ASP.NET Web API 1 What is WCF ? WCF is Microsoft’s unified programming model for building service-oriented applications. It enables developers to build secure, reliable, transacted solutions that integrate across platforms and interoperate with existing investments. What is ASP.NET Web API ? ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. 2 Protocol Support: HTTP, TCP, UDP, and custom transports. i.e., Enables building services that support multiple transport protocols (HTTP, TCP, UDP, and custom transports) and allows switching between them. Protocol Support: HTTP only. i.e, Provides first-class programming model for HTTP.More suitable for access from various browsers, mobile devices etc enabling wide reach. 3 Message Exchange Patterns: Request-Reply, One-Way & Duplex Message Exchange Patterns: By default Request-Reply only.But additional message exchange patterns can be supported through SignalR and WebSockets integration. 4 Hosting: Self Hosting, IIS Hosting & Windows Activation Service. Hosting: Self Hosting & IIS Hosting 5 Open Source or Licensed ? It is not an open source .Ships with the .NET framework. It can be consumed by any client that understands xml. Open Source or Licensed ? Ships with .NET framework but is open- source and is also available out-of-band as independent download. 6 How to describe WCF services ? WCF SOAP services can be described in WSDL allowing automated tools to generate client proxies even for services with complex schemas. How to describe ASP.NET Web API ? There is a variety of ways to describe a Web API ranging from auto-generated HTML help page describing snippets to structured metadata for OData integrated APIs. 7 Whether it supports MVC features ? WCF does not support the MVC features such as routing, controllers, action results, filter etc., Whether it supports MVC features ? ASP.NET Web API supports the MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection, unit testing that makes it more simple and robust. 8 Support for higher level protocols: Supports building services with WS-* standards like Reliable Messaging, Transactions, Message Security. Support for higher level protocols: There is no support for higher level protocols such as Reliable Messaging or Transactions. ASP.NET Web API uses only basic protocol and formats such as HTTP, WebSockets, SSL, JQuery, JSON, and XML. 9 Encoding Support: Text, MTOM, and Binary Encoding Support: Supports UTF-8 encoding format by default .Also, we can add any format as a
  • 2. MediaTypeFormatter. i.e., Responses are formatted by Web API’s MediaTypeFormatter into JSON, XML. 10 When to go for WCF ? Choose WCF when we want to create a service that should support special scenarios such as one way messaging, message queues, duplex communication etc. Choose WCF when we want to create a service that can use fast transport channels when available, such as TCP, Named Pipes, or may be even UDP (in WCF 4.5), and we also want to support HTTP when all other transport channels are unavailable. When to go for ASP.NET Web API ? Choose Web API when we want to create a resource-oriented services over HTTP that can use the full features of HTTP (like URIs, request/response headers, caching, versioning, various content formats). Choose Web API when we want to expose our service to a broad range of clients including browsers, mobiles, iphone and tablets. Reference: http://onlydifferencefaqs.blogspot.in/2014/03/difference-between-wcf-and-aspnet-web.html