У меня есть веб-сайт с двумя службами WCF. Работал отлично, пока мне не понадобилось переместить их с «веб-сайта по умолчанию» в IIS7 на выделенный веб-сайт с новым IP-адресом. Теперь я получаю сообщение об ошибке:
"... не удалось загрузить, поскольку для этого контракта найдено более одной конфигурации конечной точки. Укажите предпочтительный раздел конфигурации конечной точки по имени"
ВСЕ, что я сделал, это изменил:
net.tcp://локальный/...
TO:
net.tcp://10.1.2.204/...
Я изменил каждое место в своих конфигах, которые когда-то использовали локальный хост, на указанный IP-адрес. Новый веб-сайт настроен точно так же с правильными привязками net.tcp и привязан к одному IP-адресу 10.1.2.204.
Кажется, я не могу понять, что происходит. Я просматриваю журналы трассировки svc, и все, что я получаю, это одно и то же.
Мой новый веб-сайт называется «ядро», тогда как раньше я размещался на «веб-сайте по умолчанию». Я добавил новое полное доменное имя/общедоступный IP-адрес для маршрутизации на этот новый сайт (назад к упомянутому частному IP-адресу). Теперь мои услуги разорены.
Я знаю, что baseAddress игнорируется при использовании хостинга IIS/WAS, поэтому я не знаю, что еще проверить. В конфигах больше ничего не менял.
Что еще я могу предоставить, чтобы помочь устранить эту проблему?
--
Я также вижу это в средстве просмотра трассировки службы:
Имя действия Получение байтов при соединении «Прослушивание в сети.tcp://hole.myserver.com/…».
... но службы WCF фактически размещены на этом новом «основном» веб-сайте, который переводится на мой новый частный IP-адрес. Я изменил имена FQDN для примера. Чтобы было ясно:
Раньше у меня было 1 полное доменное имя на этом сервере, использующем веб-сайт по умолчанию.
Теперь я добавил к этому серверу второе полное доменное имя, новый веб-сайт, второй IP-адрес. Мне кажется, что прослушивание должно быть направлено на: net.tcp://core.myserver.com вместо net.tcp://hole.myserver.com. Предположим, имя сервера —hole.myserver.com, а мой новый веб-сайт — core.myserver.com на том же сервере.
Надеюсь, это не сбивает с толку, и вы можете понять это.
Я использую стандартный порт net.tcp 808 и привязку 808:*
--
Это первое исключение, которое я могу сказать:
Соединение сокета было прервано. Это может быть вызвано ошибкой обработки вашего сообщения, превышением тайм-аута приема удаленным хостом или проблемой с базовыми сетевыми ресурсами. Время ожидания локального сокета было «00:00:10».
--
Ни одна из этих комбинаций не активирует службу, и все они создают одно и то же исключение:
net.tcp://localhost net.tcp://localhost:808 net.tcp://10.1.2.204 net.tcp://10.1.2.204:808
даже используя другой порт, который я делал раньше без проблем:
net.tcp://локальный: 75 net.tcp://10.1.2.204:75
ничего из этого не работает. :(
Большое спасибо!