Solved

ASP.Net Web API

Posted on 2014-01-06
5
757 Views
Last Modified: 2014-01-15
Hi Experts,

Is ASP.Net Web API stable and reliable for intensive business use ?
I'm exploring options for a critical business project.

The plan is -
A data service provider will be hosted in IIS which will be developed based on existing production DB objects (tables/Stored Procedures ) etc.

Then client side applications like mobile/web etc. will be consuming data from it.

The data service provider should support authentication and authorization as well .
I'm thinking to choose between WCF or ASP .Net Web API as options.

Which one would you recommend ?

Thanks.
0
Comment
Question by:MrStevenWin
  • 3
  • 2
5 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 39761785
I would suggest a third option--ServiceStack

https://servicestack.net/
0
 

Author Comment

by:MrStevenWin
ID: 39768042
Sorry, I prefer not buying a third party tool.
I just wold like choose choose a suitable one from Web API and WCF options.

I did some research and found that Web API is suitable as a Front End service provider while WCF is for heavy loaded back end to back end channels.

Among two, I think my situation is a bit more relevant to go with Web API. But, I just would like to ensure that ASP .Net Web API comes with MVC 4 is stable enough for a commercial use. Are there reasons (e.g. security, performance etc.) that I should be worry ?

Thanks.
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 500 total points
ID: 39768614
ServiceStack is a free, open source implementation that you can install from NuGet, and it makes it much faster and easier than WCF or Web API.

If you are deciding between WCF and Web API, both are stable enough for commercial use.  The correct choice really depends on your concerns.  WCF has been around a while longer than Web API.  There are some that are trying to say that WCF is dead, and Web API is the right choice.

Here is some reading material:

WebAPI or WCF?
http://mattmilner.com/Milner/Blog/post/2012/02/28/WebAPI-or-WCF.aspx

Difference between WCF and Web API and WCF REST and Web Service
http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and-WCF-REST-and-Web-Service.html
0
 

Author Comment

by:MrStevenWin
ID: 39773233
Thanks. The first link is working and contained a lot useful ideas and explanations.
The second url can't be opened. Is there any alternative url to second one?
0
 
LVL 96

Assisted Solution

by:Bob Learned
Bob Learned earned 500 total points
ID: 39775211
The second link opens just fine for me in Chrome, so here is the content:

The .Net framework has a number of technologies that allow you to create HTTP services such as Web Service, WCF and now Web API. There are a lot of articles over the internet which may describe to whom you should use. Now a days, you have a lot of choices to build HTTP services on .NET framework. In this article, I would like to share my opinion with you over Web Service, WCF and now Web API. For more information about Web API refers What is Web API and why to use it ?.

Web Service
It is based on SOAP and return data in XML form.

It support only HTTP protocol.

It is not open source but can be consumed by any client that understands xml.

It can be hosted only on IIS.

WCF
It is also based on SOAP and return data in XML form.

It is the evolution of the web service(ASMX) and support various protocols like TCP, HTTP, HTTPS, Named Pipes, MSMQ.

The main issue with WCF is, its tedious and extensive configuration.

It is not open source but can be consumed by any client that understands xml.

It can be hosted with in the applicaion or on IIS or using window service.
WCF Rest

To use WCF as WCF Rest service you have to enable webHttpBindings.

It support HTTP GET and POST verbs by [WebGet] and [WebInvoke] attributes respectively.

To enable other HTTP verbs you have to do some configuration in IIS to accept request of that particular verb on .svc files

Passing data through parameters using a WebGet needs configuration. The UriTemplate must be specified

It support XML, JSON and ATOM data format.

Web API
This is the new framework for building HTTP services with easy and simple way.
Web API is open source an ideal platform for building REST-ful services over the .NET Framework.

Unlike WCF Rest service, it use the full featues of HTTP (like URIs, request/response headers, caching, versioning, various content formats)

It also 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.

It can be hosted with in the application or on IIS.

It is light weight architecture and good for devices which have limited bandwidth like smart phones.

Responses are formatted by Web API’s MediaTypeFormatter into JSON, XML or whatever format you want to add as a MediaTypeFormatter.

To whom choose between WCF or WEB API

Choose WCF when you want to create a service that should support special scenarios such as one way messaging, message queues, duplex communication etc.

Choose WCF when you want to create a service that can use fast transport channels when available, such as TCP, Named Pipes, or maybe even UDP (in WCF 4.5), and you also want to support HTTP when all other transport channels are unavailable.

Choose Web API when you 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 you want to expose your service to a broad range of clients including browsers, mobiles, iphone and tablets.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

A publishing tool, a Version Control System, or a Collaboration Platform! These can be some of the defining words for the two very famous web-hosting Git repositories: Bitbucket and Github. Git is widely used amongst the programmers and developers f…
Online collaboration is quickly becoming embedded in the workplace, and its benefits are tangible. See what the current landscape looks like and what the future holds for collaboration tools and the future of work.
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to selectively show certain fields based on user input using rules to gather relevant information and data from your forms. The rules feature provides you with an opportunity…
Learn how to set-up custom confirmation messages to users who complete your Wufoo form. Include inputs from fields in your form, webpage redirects, and more with Wufoo’s confirmation options.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now