I have a set of WCF web services connected to dynamically by a desktop application.
My problem is the really detailed config settings that WCF requires to work. Getting SSL to work involves custom settings. Getting MTOM or anything else to work requires more. You want compression? Here we go again…
WCF is really powerful – you can use a host of different ways to connect, but all seem to involve lots of detailed config. If host and client don’t match perfectly you get hard to decipher errors.
I want to make the desktop app far easier to configure – ideally some kind of auto-discovery. The users of the desktop app should just be able to enter the URL and it do the rest.
Does anyone know a good way to do this?
I know Visual Studio can set the config up for you, but I want the desktop app to be able to do it based on a wide variety of different server set-ups.
I know that VS’s tools can be used externally, but I’m looking for users of the desktop apps to not have to be WCF experts. I know MS made this intentionally over complicated.
Is there any way, mechanism, 3rd party library or anything to make auto-discovery of WCF settings possible?
All information about the endpoint is available in metadata of a service, you can write a client what will explore the meta data of the service and will configure the client. For a code example you can look into this excellent Mex Explorer from Juval Lowy.