While I’m flying into low clouds providing for a turbulent landing in Slovenia I find myself once again thinking about WCF and how far we have come from doing things with xterm like protocols and raw sockets(and to help distract myself, I don’t enjoy flying). WCF has been around in .net since 3.0 where it was codenamed Indigo and is a powerful solution to building service orientated applications. Visual Studio works nicely with adding WCF connections to applications, whether it be WPF, Winforms, Silverlight or windows phone apps. The right-click “Add Service Reference” on a project and fill in all the details is great for novices and testing idea’s quickly. However I find the proxy classes it generates a little heavy and updating them through the IDE to be repetitively time-consuming.
At the moment while im working on the next version of the Rosetta Stone Challenge and changing the server endpoints and data contracts for the wp7 Object Recognition Toolkit, I can be updating them every 15 mins. Then having to update the WPF and wp7 solutions respectively. Their is command line applications however that can be automated through batch files and the whole thing is done in seconds.
“Svcutil.exe” (or “slsvcutil.exe” for silverlight and wp7)can be started easily through a visual studio command prompt or saved in a pre/post build batch file with the necessary parameters.
You can just automate with a batch file and optional parameter to not recreate data contract’s that you may have in a shared library between your server and client projects.
In the end a successful download and update should look like this from the command line.