Я нашел ответ на это после некоторого копания - вот то, что я нашел, надеюсь, это может сэкономить кому-то еще время и беспокоить.
1.) Добавьте IP к адресу конечной точки и добавьте хостимя с базовым IP-адресом, например, так:
<endpoint
address="http://xx.xx.xx.xx/ServiceApp/Service.svc"
binding="basicHttpBinding" contract="IService">
</endpoint>
<host>
<baseAddresses>
<add baseAddress="http://xx.xx.xx.xx/ServiceApp/" />
</baseAddresses>
</host>
Этого было достаточно, чтобы заставить мою справочную службу работать, но диско-файл начал возвращаться с именем компьютера вместо ip (думаю, это было послеобновление до .NET 4.0).
2.) Если у вас есть доменное имя (www.myDomain.com), добавьте его в заголовок узла в IIS.
3.) ДобавьтеIP-адрес и имя компьютера для файла хостов клиентов (однако, не всегда легко заставить всех ваших клиентов добавить это в свой файл хоста)
4.) НАИЛУЧШЕЕ РЕШЕНИЕ, которое я нашел, заключалось в реализации ServiceHostsАтрибут фабрики в соответствии с постом «Timetheos» здесь: http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/c7fd51a2-773e-41d4-95a0-244e925597fe
Это хорошо сработало для меня, так как я мог тестировать разработку и отладку своей сервисной библиотеки локально, а затем использовать сервисное приложение для развертывания сервиса вy dev server и ему не нужно было менять какие-либо конфигурационные файлы после публикации.
Весь этот процесс был полным кошмаром, и я бы никому этого не пожелал, так что если вы находитесь в такой же ситуации и вам нужна дополнительная информацияПо указанным выше пунктам просто свяжитесь!