Implementing the HelloWorldService service contract
Now that we have defined a service contract interface, we need to implement it. For this purpose, we will re-use the empty class file that Visual Studio created for us earlier and modify it to make it the implementation class of our service.
Before we modify this file, we need to rename it. In the Solution Explorer window, right-click on the Class1.cs file, select Rename from the context menu, and rename it as HelloWorldService.cs
. Visual Studio is smart enough to change all the related files that are references to use this new name. You can also select the file and change its name from the Properties window.
Next, perform the following steps to customize the class file:
- Open the
HelloWorldService.cs
file. - Make it implement
IHelloWorldService
implicitly as follows:public class HelloWorldService: IHelloWorldService
- Add a
GetMessage
method to the class. This is an ordinary C# method that returns a string. You can also right-click on the interface link and select Implement Interface to add the skeleton of this method.public string GetMessage(string name) { return "Hello world from " + name + "!"; }
The final content of the HelloWorldService.cs
file should look like the following:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HelloWorldService { public class HelloWorldService: IHelloWorldService { public string GetMessage(string name) { return "Hello world from " + name + "!"; } } }
Now, build the project. If there is no build error, it means that you have successfully created your first WCF service. If you see a compilation error such as 'ServiceModel' does not exist in the namespace 'System', this is because you didn't add the System.ServiceModel
namespace reference correctly. Revisit the previous section to add this reference and you are all set.
Next, we will host this WCF service in an environment and create a client application to consume it.