What is ASP.Net Web API, why & when to use

asp.net web api tutorial for beginners web api tutorial asp.net web api web api examples asp.net web api interview questions web api vs wcf web api vs web service

What is ASP.Net Web API, what is RESTFul service, What is the difference between WCF and Web API and when to use over other. These are the main points which we going to discuss in this starting article, then we will create our own Web API project and look each and every single type of methods like get, post, put, delete. We will also use the Entity Framework to get and post the data to SQL Server.

What is ASP.Net Web API

ASP.Net Web API is a framework to build Web API Services, that means HTTP Based services on top of the .Net Framework.

It is commonly used to build RESTFul services, these services can be consume by different type of clients, like

  • Browser
  • Mobile Applications
  • Desktop Applications
  • Others: Object having IP Address and can communicate with internet devices like Laptop, Desktop, Mobile, Cars, and other electronic devices.

ASP.Net Web API are mostly used for RESTFul service but we can also create services which are not restful in nature.

What is restful service REST stands for Representational State Transfer, which is an architectural style for networked hypermedia applications, it is primarily used to build Web services that are lightweight, maintainable, and scalable. A service based on REST is called a RESTful service, it was introduces first time in the year 2000.

REST Constraints

  • CLIENT: Send the request to service and wiat for Response
  • SERVER: Accept request and Send Response
  • STATELESS: Don't store any information of client on the server, it means each request treated as an independent request
  • CACHEABLE: Common un-changeable data like list of states can be cached for a particular time and serve directly without process, it can increase the performance significantly.
  • UNIFORM INTERFACE: HTTP standard to describe communication like GET, PUT, POST, DELETE etc.
  • LAYERED SYSTEM: ASP.Net Web API can be used as a layer
  • CODE ON DEMAND (Optional): using code on demanad reduces visibility, which is why this constraint is optional. Also, not every API needs this kind of flexibility.

Why Web API while we already have WCF

WCF configuration is quite complex to use as RESTFul service while Web API is specially created for this purpose, easy to configure, easy to understan, easy to add routing

When to use WCF Over Web API

  • Creating services that are transport/protocol independent
  • Single service with multiple end points
  • If we have an existing SOAP service we must support it and want to add expose for more clients
  • .Net 3.5 limitations

In next article we will create a ASP.Net Web API from scratch.

Ali Adravi Having 13+ years of experience in Microsoft Technologies (C#, ASP.Net, MVC and SQL Server). Worked with Metaoption LLC, for more than 9 years and still with the same company. Always ready to learn new technologies and tricks.
  • web-api
  • wcf
  • asp.net
By Ali Adravi On 13 Jul, 17  Viewed: 1,367

Other blogs you may like

ASP.NET Web API 2, Owin, OAuth, Bearer Token, Refresh Token with custom database

Token base authentication expires over a fixed time, to overcome on it we need to use the refresh token. We will try to create the token as well as the refresh token after successful login, refresh token will be used to generate a new token if current token is already expired and it is not too... By Ali Adravi   On 08 Oct 2018  Viewed: 17,063

OAuth Web API 2 Bearer Token Role base authentication with custom database

Create Token with user credential & roles and authorize action methods based on role in Web API is the topic we will cover in this article. We would need to pass token in every request and decorate action methods with [Authorize(Roles = "Admin, Manager") etc. that's only the code we will need to... By Ali Adravi   On 04 Oct 2018  Viewed: 6,455

Angular 4 upload files with data and web api by drag & drop

Upload file with data by clicking on button or by drag and drop, is the topic of this article. We will try to create an image gallery by uploading files and save data into database and images into a folder. We will try to create a component in a way that it can be used anywhere in entire... By Ali Adravi   On 24 Sep 2017  Viewed: 40,971

OAuth Web API token based authentication with custom database

Token base authentication with custom database by using OAuth in Web API is not complicated but documents are not very clear, many people try it and ended up with scratching their head, but you are on the right page so you will not be one of them. It is not required to create an empty project... By Ali Adravi   On 11 Sep 2017  Viewed: 17,480

Angularjs ui-routing with Web API

I found most of .Net developer whether they are ASP.Net developer or MVC developer, they face to start and how to create the Angularjs application structure. In this article we will start from an empty project with Web API 2.0. First of all we will create very simple application with three... By Ali Adravi   On 18 Jul 2015  Viewed: 3,817