Chapter 2. Implementing a Basic HelloWorld WCF Service

In the previous chapter, we learned several WCF concepts and looked at a few code snippets.

In this chapter, we will implement a basic WCF service from scratch. We will build a HelloWorld WCF service by carrying out the following steps:

  • Creating the solution and project
  • Creating the WCF service contract interface
  • Implementing the WCF service
  • Hosting the WCF service in IIS Express
  • Creating a client application to consume this WCF service

Creating the HelloWorld solution and project

Before we can build the WCF service, we need to create a solution for our service project. We also need a directory in which we will save all the files. Throughout this book, we will save our project source codes in the C:SOAWithWCFandLINQProjects directory. We will have a subfolder for each solution we create and under this solution folder, we will have one subfolder for each project.

For this HelloWorld solution, the final directory structure is shown in the following screenshot:

Creating the HelloWorld solution and project

Note

You don't need to manually create these directories with Windows Explorer; Visual Studio will create them automatically when you create the solutions and projects.

Now follow these steps to create our first solution and the HelloWorld project:

  1. Start Visual Studio 2012 (you can use Visual Studio Ultimate, Premium, or Professional throughout this book). If the Open Project dialog box pops up, click on Cancel to close it.
  2. Go to menu File | New | Project. The New Project dialog window will appear:
    Creating the HelloWorld solution and project
  3. From the left-hand side of the window, expand Installed | Other Project Types and then select Visual Studio Solutions as the template. From the middle section of the window, select Blank Solution.
  4. At the bottom of the window, type HelloWorld in the Name field and enter C:SOAWithWCFandLINQProjects in the Location field. Note that you should not enter HelloWorld within the location, because Visual Studio will automatically create a folder for a new solution.
  5. Click on the OK button to close this window and your screen should look like the following screenshot with an empty solution:
    Creating the HelloWorld solution and project
  6. Depending on your settings, the layout may be different. But you should still have an empty solution in your Solution Explorer. If you don't see Solution Explorer, navigate to the menu View | Solution Explorer or press Ctrl + Alt + L to bring it up.
  7. In Solution Explorer, right-click on the solution and select Add | New Project… from the context menu. You can also go to the menu File | Add | New Project… to get the same result. The following screenshot shows the context menu for adding a new project:
    Creating the HelloWorld solution and project
  8. The New Project window should now appear on your screen. In the left-hand side of this window, select Installed | Visual C# as the template, and in the middle section of the window, select Class Library.
  9. At the bottom of the window, type HelloWorldService in the Name field. Enter C:SOAWithWCFandLINQProjectsHelloWorld in the Location field. Again, don't add HelloWorldService to the location, as Visual Studio will create a subfolder for this new project (Visual Studio will use the solution folder as the default base folder for all the new projects added to the solution).
    Creating the HelloWorld solution and project

    You may have noticed that there is already a template for WCF Service Application in Visual Studio 2012. For this very first example, we will not use this template. Instead, we will create everything by ourselves to understand the purpose of each template. This is an excellent way for you to understand and master this new technology. In the next chapter, we will use this template to create the project, so we don't need to manually type a lot of code.

  10. Now you can click on the OK button to close this window.

Once you click on the OK button, Visual Studio will create several files for you. The first file is the project file. This is an XML file under the project directory and it is called HelloWorldService.csproj.

Visual Studio also creates an empty class file called Class1.cs. Later we will change this default name to a more meaningful one and change its namespace to our own.

Three directories are created automatically under the project folder—one to hold the binary files, another to hold the object files, and a third one for the properties files of the project.

The window on your screen should now look like the following screenshot:

Creating the HelloWorld solution and project

We have now created a new solution and project. Next, we will develop and build this service. But before we go any further, we need to do two things to this project:

  1. Click on the Show All Files button on the Solution Explorer toolbar, as shown in the preceding screenshot. Clicking on this button will show all files and directories in your hard disk under the project folder—even those items that are not included in the project. Make sure that you don't have the solution item selected. Otherwise, you cannot see the Show All Files button.
  2. Change the default namespace of the project. From Solution Explorer, right-click on the HelloWorldService project and select Properties from the context menu or go to menu item Project | HelloWorldService Properties…. You will see a dialog window for project properties. Under the Application tab, enter MyWCFServices in the Default namespace field.
    Creating the HelloWorld solution and project

    Lastly, in order to develop a WCF service, we need to add a reference to the System.ServiceModel assembly. Perform the following steps:

  3. In the Solution Explorer window, right-click on the HelloWorldService project and select Add Reference… from the context menu. You can also go to the menu item Project | Add Reference… to do this. The Reference Manager dialog window will appear on your screen.
    Creating the HelloWorld solution and project
  4. Check System.ServiceModel from the Framework tab under Assemblies and click on OK.

Now in Solution Explorer, if you expand the references of the HelloWorldService project, you will see that System.ServiceModel has been added under References. Also, note that System.Xml.Linq is added by default. We will use this later when we query a database.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset