I have advanced a bit more now in my study of WCF. After going through some of the basics and using channel factory to manually creating a proxy or svcutil to generate it. Now I am going into exploring tools that generate services, access metadata, create configuration settings and generating proxies. I first started with a lab where one creates a service and then configures service endpoints with Service Configuration Editor.
This was done in one project where the service resides inside a host (Console app). Once I was finished with configuration using the editor; the project was run so a client project could be created and a service reference can be added (proxy will be created). With the following code inside client application the service can be invoked:
ServiceReference.HelloIndigoServiceClient proxy = new Client.ServiceReference.HelloIndigoServiceClient();
Next part in the lab was using WCF Service Library to generate a service. I ran into a problem though, where I got this error: Another application has already registered this URL with HTTP.SYS. I found some background about this by reading an article on dotnetjunkies by Shawn Cicoria. Problem is that there was another application that already reserved and “locked” the Uri with HTTP API. So I had to change the address and then it worked. Last part inside the lab was generating a proxy using the SvcUtil. This is something I have already have before(see previous post).
Since I am so enthusiastic about WCF I did another Lab, where I had to create an IIS host and can browse metadata.
I must say I am far from being an expert on WCF, but having the oppertunity to learn it and explore its features and possibilities is fun. Having all software (VPC, and all), a couple of books and internet helps a lot. So far I have learned about different ways of generating services through tools or by hand, I have used Service Configuration Editor and finally hosted a service inside IIS. This was al done by doing labs found in Learning WCF published by O’Reilly Press (see previous posts).