- Create a WCF Service Project.
- Preparing the data (e.g. Product) to return
- Creating Service Contract
- Implementing Service
- Configure Service and Behavior
You can download the complete source code for this article here.
- Open Visual Studio.
- From File -> New Project. Select WCF from left and create a new WCF Service Application.
2. Preparing the data to return
- Now add a class to newly created project. Name it to Products.cs.
3. Creating Service Contract
It will add contract as well as service file to project. Following is the code for service contract i.e. IProductRESTService.cs.
IProductRESTService contains only one method i.e. GetProductList. Important points to understand about this method is WebInvoke attribute parameters.
- Method = “GET”, represents an HTTP GET request.
- ResponseFormat = WebMessageFormat.Xml, response format will be XML here but we can return JSON as well by changing its value to WebMessageFormat.json.
- BodyStyle = WebMessageBodyStyle.Bare, indicates neither the request and nor response are wrapped. Other possible values for BodyStyle are Wrapped, WrappedRequest, WrappedResponse.
- UriTemplate = “GetProductList/”, it has two parts, URL path and query.
Don’t forget to add using System.ServiceModel.Web at top.
4. Implementing RESTful Service
In this step we are going to implement the service. Only one method GetProductList is defined in the contract, so implementing service class will be as follows:
5. Configure Service and Behavior
The last step is to configure the service and its behaviors using the configuration file. Following is the complete ServiceModel configuration settings.
Right click ProductRESTService.svc file and click “View in Browser“. You will see the following screen, that means service is fine.Just modify the URL in browser and add “GetProductList/” to it. So, this is the UriTemplete we defined as service contract method.
Hopefully, this simple WCF tutorial will be helpful for the readers. To keep the things simple, I restrict it to just getting records using HTTP GET verb. But you can find a complete implementation for all CRUD (Create, Read, Update, Delete) operations using RESTful service in another WCF RESTful Service tutorial here.
Top 10 Interview Questions and Answers Series:
- Top 10 WCF Interview Questions
- Comprehensive Series of WCF Interview Questions
- Top 10 HTML5 Interview Questions
- Top 10 ASP.NET Interview Questions
- Comprehensive Series of ASP.NET Interview Questions
- Top 10 ASP.NET MVC Interview Questions
- Top 10 ASP.NET Web API Interview Questions
- Top 10 ASP.NET AJAX Interview Questions
- a Must Have SharePoint Interview Questions