Службы WCF net.tcp перемещены с локального хоста на IP-адрес на новом сайте, службы не загружаются
У меня есть веб-сайт с 2 службами WCF. Работал потрясающе, пока мне не пришлось переместить их с "Веб-сайта по умолчанию" в IIS7 на выделенный веб-сайт с новым IP-адресом. Теперь я получаю сообщение об ошибке:
"... не удалось загрузить, поскольку найдено более одной конфигурации конечной точки для этого контракта. Пожалуйста, укажите предпочитаемый раздел конфигурации конечной точки по имени"
ВСЕ, что я сделал, было изменение:
net.tcp: // локальный /...
TO:
net.tcp: //10.1.2.204 /...
Я изменил каждое место в моих конфигах, которые когда-то использовали localhost для указанного IP-адреса. Новый веб-сайт настроен точно так же с соответствующими привязками net.tcp и привязан к одному IP-адресу 10.1.2.204.
Я не могу понять, что происходит. Я смотрю журналы трассировки SVC, и все, что я получаю, это куча того же самого.
Мой новый веб-сайт называется "core", тогда как ранее я размещался на "Default Web Site". Я добавил новое полное доменное имя / публичный IP-адрес для маршрутизации на этот новый сайт (в обратном направлении к указанному частному IP-адресу). Теперь мои услуги разрушены.
Я знаю, что baseAddress игнорируется при использовании хостинга IIS / WAS, поэтому я не уверен, что еще нужно проверить. Я ничего не изменил в конфигах.
Что еще я могу предоставить, чтобы помочь решить эту проблему?
-
Я также вижу это в сервисе просмотра трассировки:
Имя действия Получают байты при соединении 'Listen at' net.tcp: //hole.myserver.com /... '.'.
... но службы WCF на самом деле размещаются на этом новом "базовом" веб-сайте, который переводится на мой новый частный IP-адрес. Я изменил имена FQDN для примера. Чтобы было понятно:
Я имел 1 полное доменное имя на этом сервере, используя веб-сайт по умолчанию.
Теперь я добавил 2-е полное доменное имя для этого сервера, новый веб-сайт, второй 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: // localhost: 75 net.tcp: //10.1.2.204: 75
ни одна из этих работ.:(
Спасибо!
1 ответ
Свои права выпускают. Щелкните правой кнопкой мыши на вашем новом сайте -> затем Редактируйте разрешения. В окне свойств нажмите вкладку " Безопасность " и кнопку " Изменить". Затем добавьте IIS_IUSRS и задайте Чтение и выполнение, список содержимого папки, разрешения на чтение. Теперь выполните iisreset и начните размещать и подключать net tcp на новом веб-сайте.