We are going to run the WCF application wizard and then create a client program that establishes basic communication with that WCF Service.
We will be using Visual Studio 2008 with Service Pack 1
File -> New -> Project
Visual C# -> Web -> WCF Service Application
WcfApp1 -> OK
Solution Explorer
Right Click Solution -> Add -> New Project
Visual C# -> Windows -> Console Application
ConsoleApp1 -> OK
Solution Explorer
Right Click ConsoleApp1 -> References -> Add Service Reference...
Discover
OK
If adding the service reference fails, try to run WcfApp1 (Debug -> Start Without Debugging) and click on "Service1.svc" first. For whatever reason, the WCF service doesn't always "auto-start" when it should. I end up using this "workaround" quite often.
Add the following to the Main method in Program.cs in ConsoleApp1:
try
{
ServiceReference1.Service1Client oneService1Client = new ServiceReference1.Service1Client();
string serviceOutput = oneService1Client.GetData(-1);
Console.WriteLine("serviceOutput=[" + serviceOutput + "]");
}
catch (Exception oneException)
{
Console.WriteLine("oneException=[" + oneException.ToString() + "]");
Environment.Exit(-1);
}
Solution Explorer
Right Click ConsoleApp1 -> Set as StartUp Project
Ctrl-F5 (Debug -> Start Without Debugging)
Program output should be:
--
serviceOutput=[You entered: -1]
Press any key to continue . . .
--
We now have a basic WCF application with a basic client that calls it.
One very helpful tip once the basics are running is to get Fiddler up and running to be able to watch WCF traffic in case things go downhill after you make some changes.
Click here for instructions on how to do that.