Getting the Wrong IIS Base Address in WCF for sites with one or more identities
By default WCF gets attempts to get the base address from the hosting server's hostname, however in cases where the public hostname is totally different than the internal host name this can be a challenge. Fortunately one can address this by way of a host header setting, which forces IIS to use a that specific header instead of the hostname which might be meaningless in the context of user out in the cloud.
Unfortunately WCF does have some limitations when it comes to having multiple identities for the same end-point...in order to get around this limitation the WCF architecture supports extending hosting by way of the ServiceHostFactory. You can find this solution on here ...