REST (Representational State Transfer) is an architectural style that dictates to think in terms of resources and their representation instead of just thinking about methods within a system. REST architecture focuses almost on the same set of constraints like Uniform interface, separation of concerns, caching, statelessness, etc. as other distributed architectures follow.
Using REST, we get the following advantages:
- Interoperability
- Scalability
- Performance
- Efficiency
- Independent Evolution
- and many more...
REST also means using HTTP the way it was meant to be. But a simple WCF service uses HTTP only as a transport, although HTTP is much more than just a transport. HTTP is already designed in the way as RESTful architecture suggests. RESTful services are also referred as HTTP services because HTTP also focuses on interaction between resources and their representation.
HTTP is the standard protocol for all communication between resources over the Web. So, it defines various methods for interaction with resources as follows:
GET
: means requesting a specific representation of a resource PUT
: means creating or updating a resource with a provided representation DELETE
: simply defines, deleting the specific resource POST
: defines submitting data to be processed by the identified resource HEAD
: is similar to GET
but only retrieve header not the body OPTIONS
: returns the method supported by the identified resource
So far in this guide, we talked a lot about REST and related concepts. Let's move further to practically implementing all these concepts. We will start this WCF tutorial from the beginner level and take it to the professional level.
In this chapter, we will create a basic WCF REST service. Following a step by step approach in creating RESTful service with complete code sample, we will discuss service and behavior configuration and talk about webHttpBinding
as well. Finally, running the service and getting results in our browser window.
Now, we have a REST service available. Here in this chapter, the focus remains on consuming already created RESTful service using jQuery. As jQuery simplifies AJAX call for a REST-based service, complete jQuery code is provided and finally results are rendered in HTML.
In chapter 3, we have broadened our scope and provided all CRUD (Create, Retrieve, Update, Delete) operations for our service for a specific domain model.
This chapter focuses on consuming WCF REST service for all CRUD operations developed in earlier chapter using jQuery. Until here, the reader will have an understanding of core concepts and will also be able to create a small RESTful service application by himself.
So far, we discussed and implemented different HTTP methods like GET
, PUT
, DELETE
. In this part of the guide, we discussed about using POST
HTTP method for sending data to a HTTP service in JSON format.
WebHttpBehavior
class introduces AutomaticFormatSelectionEnabled
property in .NET framework version 4.0. This chapter focuses on how this new feature of Automatic Format Selection works for a service operation.
Finally, in this chapter, we discussed about handling exceptions for a WCF RESTful service.
This WCF tutorial guide provides a thorough understanding with complete code for learning HTTP service and covers all major areas for web developers working with RESTful services in WCF.
Other Related Tutorials That Might Be Of Interest
CodeProject