What is ASP.NET Web API?
ASP.NET Web API is a framework that simplifies building HTTP services for broader range of clients (including browsers as well as mobile devices) on top of .NET Framework.
Using ASP.NET Web API, we can create non-SOAP based services like plain XML or JSON strings, etc. with many other advantages including:
- Create resource-oriented services using the full features of HTTP
- Exposing services to a variety of clients easily like browsers or mobile devices, etc.
What are the Advantages of Using ASP.NET Web API?
Using ASP.NET Web API has a number of advantages, but core of the advantages are:
- It works the HTTP way using standard HTTP verbs like
GET
,POST
,PUT
,DELETE
, etc. for all CRUD operations - Complete support for routing
- Response generated in JSON or XML format using
MediaTypeFormatter
- It has the ability to be hosted in IIS as well as self-host outside of IIS
- Supports Model binding and Validation
- Support for OData
- and more....
What New Features are Introduced in ASP.NET Web API 2.0?
More new features introduced in ASP.NET Web API framework v2.0 are as follows:
- Attribute Routing
- External Authentication
- CORS (Cross-Origin Resource Sharing)
- OWIN (Open Web Interface for .NET) Self Hosting
IHttpActionResult
- Web API OData
WCF Vs ASP.NET Web API?
Actually, Windows Communication Foundation is designed to exchange standard SOAP-based messages using variety of transport protocols like HTTP, TCP, NamedPipes or MSMQ, etc.
On the other hand, ASP.NET API is a framework for building non-SOAP based services over HTTP only.
Is it True that ASP.NET Web API has Replaced WCF?
It's a misconception that ASP.NET Web API has replaced WCF. It's another way of building non-SOAP based services, for example, plain XML or JSON string, etc.
Yes, it has some added advantages like utilizing full features of HTTP and reaching more clients such as mobile devices, etc.
But WCF is still a good choice for following scenarios:
- If we intended to use transport other than HTTP, e.g. TCP, UDP or Named Pipes
- Message Queuing scenario using MSMQ
- One-way communication or Duplex communication
MVC Vs ASP.NET Web API?
As in previous ASP.NET Web API Interview Questions, we discussed that the purpose of Web API framework is to generate HTTP services that reach more clients by generating data in raw format, for example, plain XML or JSON string. So, ASP.NET Web API creates simple HTTP services that renders raw data.
On the other hand, ASP.NET MVC framework is used to develop web applications that generates Views as well as data. ASP.NET MVC facilitates in rendering HTML easy.
How to Return View from ASP.NET Web API Method?
(A tricky Interview question) No, we can't return view from ASP.NET Web API method. We discussed in the earlier interview question about the difference between ASP.NET MVC and Web API that ASP.NET Web API creates HTTP services that renders raw data. Although, it's quite possible in ASP.NET MVC application.
How to Restrict Access to Web API Method to Specific HTTP Verb?
Attribute programming plays its role here. We can easily restrict access to an ASP.NET Web API method to be called using a specific HTTP method. For example, we may require in a scenario to restrict access to a Web API method through HTTP
POST
only as follows:
Hide Copy Code
[HttpPost]
public void UpdateStudent(Student aStudent)
{
StudentRepository.AddStudent(aStudent);
}
Can we use Web API with ASP.NET Web Form?
Yes, ASP.NET Web API is bundled with ASP.NET MVC framework but still it can be used with ASP.NET Web Form.
It can be done in three simple steps as follows:
- Create a Web API Controller
- Add a routing table to
Application_Start
method of Global.asax - Make a jQuery AJAX Call to Web API method and get data
.
How Can We Provide an Alias Name for ASP.NET Web API Action?
We can provide an alias name for ASP.NET Web API action same as in case of ASP.NET MVC by using "
ActionName
" attribute as follows:
Hide Copy Code
[HttpPost]
[ActionName("SaveStudentInfo")]
public void UpdateStudent(Student aStudent)
{
StudentRepository.AddStudent(aStudent);
}
Web API Development Services Lucknow India,
ReplyDeleteTop API Development Company Lucknow India,
Top Custom Web Application Development Company India, USA, UK,
Custom Web Application Development Services in Lucknow India,
Hire Best Web Designers in Lucknow India,
Hire WordPress developer India for custom WordPress development. We have a highly experienced team of developers and designers who can make websites for all types of ventures. The development team is committed to their work and delivers the assigned project on time with high security and 24/7 customer support.
ReplyDelete