Listening to this Hanselminutes yesterday, I heard some great stuff from the always sagely Glenn Block on WCF. He’s apparently moved to that team (after working on MEF) to do something called Web API.
His analogy of WCF to a Boeing 747 cockpit had me fist pumping in shared understanding. I’ve spent enough painful hours flipping switches and knobs hoping for that one combination that will make it work, half the time not really knowing fully what I’m doing. It really did feel like being sat in front of the controls to a commercial aircraft and told “Okay, make it take off.” A seemingly simple, everyday thing for a plane to do, and it probably only takes a few flips of switches and a gentle movement of the controls to do it, but knowing which out of dozens of instruments will do it… well…
The sheer cliff of a learning curve with WCF has always put a sour taste in my mouth. RIA Services is wonderful if what you really want is just a data source for, say, your Silverlight app, but for anything else it’s not so helpful.
And as soon as you need to set up service credentials/certificates and/or a security token issuer and other “advanced” stuff it really starts to hurt.
That and there’s no way to encapsulate stuff into helper assemblies since so much of it must be done in the config file and referenced assemblies can’t have their own config info.