Службы WCF net.tcp перемещены с локального хоста на IP-адрес на новом сайте, службы не загружаются - PullRequest
0 голосов
/ 15 сентября 2011

У меня есть сайт с 2 службами WCF. Работал потрясающе, пока мне не пришлось переместить их с «Веб-сайта по умолчанию» в IIS7 на выделенный веб-сайт с новым IP-адресом. Теперь я получаю сообщение об ошибке:

"... не удалось загрузить, поскольку найдено более одной конфигурации конечной точки для этого контракта. Укажите предпочитаемый раздел конфигурации конечной точки по имени"

ВСЕ, что я сделал, было изменено:

net.tcp: //localhost/...

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: // локальный net.tcp: // локальный: 808 net.tcp: //10.1.2.204 net.tcp: //10.1.2.204: 808

даже используя другой порт, который я делал раньше без проблем:

net.tcp: // локальный: 75 net.tcp: //10.1.2.204: 75

ни одна из этих работ. (

Большое спасибо!

1 Ответ

0 голосов
/ 25 июля 2016

Свои права выпускают. Щелкните правой кнопкой мыши на своем новом веб-сайте -> затем Изменить разрешения . В окне свойства щелкните вкладку security и кнопку Edit . Затем Добавьте IIS_IUSRS и дайте Чтение и выполнение, Список содержимого папки, Чтение разрешений. Теперь iisreset и начните размещать и подключать net tcp на новом веб-сайте.

...