I’ve published SyncWcf on codeplex: http://syncwcf.codeplex.com/
there is a lot of reason that have moved me to do this work during my holidays.
First of all I need it. it is too complicated to maintain the code that silverlight require to call a webservice. the fact that it needs an asynch version of the service interface is inaceptable to me.
the fact that there are two unrelated interfaces that logically represents the same thing, it is substantially wrong to me
Second: I think that my team need it. I’m working with people on a business-line project. these people are very good developers but they have no experience with silverlight. it is the first project they works on that uses such kind of technology.
I think they are still try to handle the correct way to implement model-view-viewmodel, and I don’t think they need to understeand the extra complexity of the async call for wcf.
Third: “Add service reference” generates code difficult to understand, hard to handle and very prone to generate errors. I really think that there is a better way if the server side code and the client side code are in the same hands, I want the two things are strongly related, I want to use refactoring tools at server side and the modifications are propagated on the client side as well, I don’t want to remember to myself to do “update service reference”. Anyone has got good reasons to dislike the automatically genererated client proxies…
to me they are good in case the service I have to interface to is from a 3rd party or it comes from a technology that is not .NET or in any case it is not something “internal” to my project (some external system I have to interface to)
All these reasons moved me to write SyncWcf.
One of the nicer part to me is the fact that SyncWcf uses only Silverlight assemblies: no need to include any other 3rd party library (no need of castle or any other proxy generator)
Another think I like most is the way you call an operation by using lambdas… and the fact that out and ref parameters really works in the way it is intended!
Last, thewre is the full support to intellisense. To me intellisense is one of the greatest inventions, I have payed a lot of attention in supporting it the best way possible.
I’m using SyncWcf in a real project, so I have the chance to see it in action. anyway I think there is still lot of things to do to improve it.
For example I suppose there should be place to enhancement in the area of the duplex communications, but unfortunately my project are not using these at the momet… so feedbacks will be greatly appreciated (not only on the duplex part… on everything you think could improve the library)!
So, the library is in a stable state now, there is documentation, how tos, manuals source code and binaries ready to be downloaded. just run on codeplex and press “download”
The bits are waiting for you! and I’m waiting your feedbacks!!