Краткое описание
Кодовое решение:
Здесь
Конфигурационные решения:
Здесь
С помощью Mike Chaliy я нашел несколько решений о том, как сделать это с помощью кода. Поскольку эта проблема затронет в значительной степени все проекты, которые мы развертываем в реальной среде, я придерживался чисто конфигурационного решения. В конце концов я нашел один, который подробно описывает, как это сделать в .net 3.0 и .net 3.5.
Взято с сайта, ниже приведен пример того, как изменить веб-конфигурацию ваших приложений:
<system.serviceModel>
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="net.tcp://payroll.myorg.com:8000"/>
<add prefix="http://shipping.myorg.com:9000"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
</system.serviceModel>
В приведенном выше примере
net.tcp: //payroll.myorg.com: 8000 и
http://shipping.myorg.com:9000 являются
только базовые адреса, для их
соответствующие схемы, которые будут
разрешено проходить
baseAddressPrefixFilter не
поддерживать любые символы подстановки.
База адресов, предоставляемых IIS, может
иметь адреса, связанные с другими схемами
отсутствует в baseAddressPrefixFilter
список. Эти адреса не будут
отфильтровано.
Решение для DNS (не проверено):
Я думаю, что если бы вы создали новую запись DNS, специфичную для вашего веб-приложения, добавили новый веб-сайт и дали ему один заголовок хоста, соответствующий записи DNS, вы бы полностью решили эту проблему, и вам не пришлось бы писать собственный код добавьте префиксы в ваш файл web.config.