Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / WCF

Practical Guide to WCF RESTful Service

5.00/5 (1 vote)
6 Jul 2014CPOL3 min read 9.2K  
Here is a practical guide to WCF RESTful service

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.

RESTful Service

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.

Chapter 1: Creating Your First WCF RESTful Service

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.

Chapter 2: Consuming WCF RESTful service using jQuery

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.

Chapter 3: Performing CRUD Operations using WCF RESTful Service - Part 1

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.

Chapter 4: Performing CRUD operations using WCF RESTful Service - Part 2

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.

Chapter 5: Posting JSON data to WCF RESTful service using jQuery

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.

Chapter 6: Automatic Format Selection in WCF RESTful Service

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.

Chapter 7: Exception Handling in WCF RESTful Service

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

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)