3.11.2014

Difference between WCF and ASP.NET Web API


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.

Programming WCF ServicesProfessional WCF Pogramming

35 comments:

  1. Thanks for your encouraging comments.Please let me communicate the information you want to post in my blog to my email - umarali981@gmail.com.

    ReplyDelete
  2. so nice article and useful to Dot Net learners. we are also providing Dot NEt online training our Cubtraining global leader in providing in Dot Net course.

    ReplyDelete
  3. Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing. Android Training in chennai | Android Training chennai | Android course in chennai | Android course chennai

    ReplyDelete
  4. this is really too useful and have more ideas from yours. keep sharing many techniques. eagerly waiting for your new blog and useful information. keep doing more.
    dot net training in chennai

    ReplyDelete
  5. Dot Net Training in Chennai
    Microsoft Dot Net Training in Chennai

    BestDotNetTraining is an MS.NET portal providing high end quality online training courses. We have all topics of MS.NET like C#, ASP.NET, MVC, WPF, WCF etc covered in-depth. Our teaching methodology includes in-depth theory on every topic which prepares you for interview and followed by practical demonstration of the subject so that you can find doing project very easy. Our online training course are designed in such a way that any beginner can start and eventually grow as advanced developer.

    Dot Net Training in Chennai
    Microsoft Dot Net Training in Chennai

    ReplyDelete

  6. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharng this information,this is useful to me...
    Android Training in Chennai
    Ios Training in Chennai

    ReplyDelete
  7. The blog is excellent. It is helpful for me. Thanks for sharing article. android training in chennai

    ReplyDelete
  8. Thanks for sharing a good article....it is very nice and informative blog.

    Dot Net Online Training Hyderabad

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete
  10. Your new valuable key points imply much a person like me and extremely more to my office workers. With thanks; from every one of us.

    Java Training Institute Bangalore


    ReplyDelete
  11. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.
    google-cloud-platform-training-in-chennai

    ReplyDelete
  12. Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
    Hadoop Training Institute In chennai

    amazon-web-services-training-institute-in-chennai

    ReplyDelete
  13. Ciitnoida provides Core and java training institute in noida. We have a team of experienced Java professionals who help our students learn Java with the help of Live Base Projects. The object-oriented, java training in noida , class-based build of Java has made it one of most popular programming languages and the demand of professionals with certification in Advance Java training is at an all-time high not just in India but foreign countries too.

    By helping our students understand the fundamentals and Advance concepts of Java, we prepare them for a successful programming career. With over 13 years of sound experience, we have successfully trained hundreds of students in Noida and have been able to turn ourselves into an institute for best Java training in Noida.

    java training institute in noida
    java training in noida
    best java training institute in noida
    java coaching in noida
    java institute in noida

    ReplyDelete
  14. Thanks a lot very much for the high your blog post quality and results-oriented help. I won’t think twice to endorse to anybody who wants and needs support about this area.
    aws training in chennai

    ReplyDelete
  15. Hello, I read your blog occasionally, and I own a similar one, and I was just wondering if you get a lot of spam remarks? If so how do you stop it, any plugin or anything you can advise? I get so much lately it’s driving me insane, so any assistance is very much appreciated.
    Hadoop Training in Bangalore
    Hadoop Training in Chennai

    ReplyDelete
  16. Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
    Devops Training in pune

    Devops Training in Chennai

    Devops Training in Bangalore

    AWS Training in chennai

    AWS Training in bangalore

    ReplyDelete
  17. Very good brief and this post helped me alot. Say thank you I searching for your facts. Thanks for sharing with us!
    python training in chennai
    python training in chennai
    python training in Bangalore

    ReplyDelete
  18. Woah this blog is wonderful i like studying your posts. Keep up the great work! You understand, lots of persons are hunting around for this info, you could help them greatly.
    java training in marathahalli | java training in btm layout

    java training in jayanagar | java training in electronic city

    ReplyDelete
  19. Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.

    angularjs Training in btm

    angularjs Training in electronic-city

    angularjs online Training

    angularjs Training in marathahalli

    angularjs interview questions and answers

    ReplyDelete
  20. The knowledge of technology you have been sharing thorough this post is very much helpful to develop new idea.
    here by i also want to share this.
    Java training in Chennai

    Java training in Bangalore

    Java online training

    Java training in Pune

    ReplyDelete
  21. Awesome share, When i was read this blog i learnt lot of things & its truly have good stuff related to developing technology, Thank you so much for sharing this blog. Keep doing more blog like this.
    Dot Net Training in Chennai
    Java Training Institute in Chennai
    PHP Course in Chennai
    Software Testing Training in Chennai

    ReplyDelete
  22. This comment has been removed by the author.

    ReplyDelete
  23. Appreciation for really being thoughtful and also for deciding on certain marvelous guides most people really want to be aware of.
    .Net Online Training Hyderabad
    Visit us: Dot Net Online Training

    ReplyDelete
  24. This is quite helpful, and I wish you will share more ideas. continue to share your many methods. forward anticipating your new blog and informative posts. Do more and more.

    Best Juniour Colleges In Hyderabad For MEC

    ReplyDelete