There's lots of material explaining why using svcutil.exe (or 'add service reference') is bad - lack of testability, tight coupling etc. Manually creating a client proxy for a simple service is straightforward, you just need to manually create your interface and create a channel:
IMessageServiceAsync service = new ChannelFactory<IMessageServiceAsync>("BasicHttpBinding_IMessageEndpoint").CreateChannel();
I want to do something similar but for a Silverlight PollingDuplex client.
This appears more difficult - the generated client inherits from System.ServiceModel.DuplexClientBase
- I assume my manually created client would also need to? Or is there a way to hookup all the client-side Duplex callback functionality without implementing this base class?
Has anyone ever tried this? Is it even possible?