In all my previous MVVM in Silverlight 4 posts i was avoiding to address one painful aspect of the Silverlight: calling WCF Web Services.
And it was not without reason. Lets face it, consuming WCF Web Services from your Silverlight application can be pretty hard.
I mean hard to do it in a clean way off course.
Yes we all know how to create a Silverlight enabled WCF Web Service from Visual Studio but things become messy from that point.
First question is how to invoke methods of the web service?
Should we use Add Web Service Reference from the Visual Studio and and get the service proxy generated for us by the IDE?
If you go down that route, its easy to start and you will be invoking web service methods asynchronously in no time, but you will pay the price for that simplicity later, that is for sure.
from Slobodan Pavkov more here