Basic WCF Service Step by Step

In this WCF tutorial, you will learn how to create a WCF Service and how to consume a WCF Service in an app using C# and Visual Studio.

Introduction

 
This is an article for beginners who really want to know how to create a very basic WCF application for the first time; here I have explained the step by step process to create a WCF application using Visual Studio.
 

What is WCF Service

 
Windows Communication Foundation (WCF) is a framework for building service-oriented applications. Using WCF, you can send data as asynchronous messages from one service endpoint to another. A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application.
 
Application Creation and Hosting
 
I have provided a step by step procedure to create the WCF application using VS2012 and also WCF service can be hosted and tested in multiples and here I have shown testing the application using the “WCF Test Client” which is built  in and available when you install the Visual studio.
 

WCF Application Creation Procedure

 
Step 1
 
Open the Visual Studio and create a “New Project” and select the WCF option where various WCF applications can be created, here I want a service application and select that choice and name the application and click ok.
 
wcf service application 
 
Step 2
 
On Successful project creation, now Visual studio gives us the option for automatic code sample.
 
What is automatic code Template in the Visual Studio?
 
Yes, whenever you create a WCF application using visual studio, it will create the default template as it creates for other applications and this will gives you a very good sample application, let’s see in detail.
 
The following files are created and also the required assembly files are also added to the solution automatically,
 
assembly files 
 
All the references are added and some of the references are highlighted with red points for your visual.
 
Files Available in the solutions
 
Solution Explorer 
 
Files
  • IService – Service Interface File
  • Service.SVC – It’s the file where Service code is available and similar to .asmx file of web service
  • Web.config – Configuration details where the Endpoint information are stored.
IService.cs
 
This is the file which has all the declarations rahther than definition of properties, here we call it Contract in WCF and this helps for all the operations that happen with the service named “Operation Contract”.
 
Operation Contract: The method is declared and where the actual implementation is done in .SVC file, each contact has to be decorated with the appropriate Attribute tags as shown below.
 
Operation Contract 
 
Data Contract
 
Here the Data are to be transferred and processed within service and they store the values, so in the WCF terminology they are called “Data Contract”.
 
Where each member of the Class; i.e., the Data contract is called “Data Member” and they are also to be decorated with the Attributes.
 
Data Contract 
 
Service.SVC
 
This is the main file for any of the WCF services where this file inherits the “IService” interface and implements all the methods of the operation contract methods.
 
WCF application 
 
Now, you can find two methods are implemented in the .SVC file.
 
Web.Config
 
In a WCF application Web.config files play another important role, as the application will have various set of “ABC”- Address, Binding and Contract and all those are defined in the web.config files.
 
Sample Config Entries
 
Web.Config 
 
Execute the Application using WCF Test Client
 
The WCF Test Client is one of the best tools for developers to test the WCF application.
 
Windows Communication Foundation (WCF) Test Client (WcfTestClient.exe) is a GUI tool that enables users to input test parameters, submit that input to the service, and view the response that the service sends back. It provides a seamless service testing experience when combined with WCF Service Host.
 
This file will be available in the following location,
 
C:\Program Files (x86)\Microsoft Visual Studio (Your Version Here)\Common7\IDE
 
Step 3
 
Set the Service.SVC file as the “Start up page” and execute the application, so automatically the WCF Test client window will be displayed.
 
Execute WCF Application 
 
Step 4 - WCF Test Client Execution
 
WCF Test Client 
 
Here all the Methods will be displayed and also the appropriate method details will be displayed on the right side pane when you select the methods, which are readily testable.
 
Step 5
 
WCF Test Client 
 
“Invoke” method will execute the method with the input value and gives us the response from the service and you can view the response in the application output section of WCF test client.
 
Step 6
 
WCF Test Client 
 
Now you have successfully created the WCF application and also tested using a “WCF TEST CLIENT”, to make it real on the other part just think how many lines of code you have typed for this application's execution.
 
You have done a sample without writing a single line of code and that was the ease of usability of the Visual studio.