Http://stackoverflow.com/questions/18720810/wcf-service-base-address-vs-endpoint-address
BaseAddress is just this, the base address for your endpoints (unless specified explicitly).
So every <endpoint> would inherit from <baseAddress> (which is what they is usually "" and "Mex"). e.g.
<baseaddresses><add baseaddress="http://127.0.0.1:1337/" /></ Baseaddresses> ... <endpoint address="" contract="myservice.imycontract" .../><endpoint address="Mex" contract="imetadataexchange" .../ >
You are now having both endpoints:
http://127.0.0.1:1337/-Service Endpoint
Http://127.0.0.1:1337/mex-metadata Endpoint
By exempting the <baseAddress> your re requiring the <endpoints> to both be fully qualified (including the MEX (which is not)). e.g.
Exempt exemptions omit baseaddress and then require that the address in the endpoint be fully qualified
<baseAddresses></baseaddresses> ... <endpoint address="net.tcp://127.0.0.1:1337/ " contract= " Myservice.imycontract" .../><endpoint address="Http://127.0.0.1:1337/mex " contract="imetadataexchange ".../>
You now have the different endpoints:
net.tcp://127.0.0.1:1337/-Service Endpoint
Http://127.0.0.1:1337/mex-metadata Endpoint
Differences between address in baseaddress and endpoint in WCF host