Служба WCF, работающая на локальном хосте: 4040 - PullRequest
2 голосов
/ 11 сентября 2009

Надеюсь, это быстрый вопрос. У меня есть служба WCF, работающая на порте IIS 4040. Я добавил следующие заголовки к этой службе

4040 (домен без балансировки нагрузки)

4040 localhost

Так что локально я могу ссылаться на эту услугу как http://localhost:4040/service.svc, а также по полному доменному имени. Это не проблема для всех служб на этой машине, я могу сослаться на все по localhost: 4040

Проблема возникает, когда я пытаюсь получить к нему доступ с другого сервера (поскольку у нас есть другие приложения, которые должны использовать службу)

Я получаю сообщение об ошибке 404, и мне было интересно, не может ли по умолчанию этот сервис оказаться доступным по локальной петле (127.0.0.1).

Конечная точка определяется так:

 <service behaviorConfiguration="ClaimChaseBehavior"
          name="Modules.EClaims.ClaimChase">
    <endpoint address=""
              binding="basicHttpBinding"
              contract="Domain.EClaims.DataInterfaces.IClaimChase" />
    <endpoint address="mex" binding="mexHttpBinding" 
              contract="IMetadataExchange" />
 </service>

Обратите внимание, я не определяю адрес. Причина этого в том, что мы можем получить общий конфигурационный файл (мы пытаемся обойти определение доменов / адресов машин и, следовательно, нескольких конфигов)

Есть ли способ сделать WCF по умолчанию IP-адресом машины вместо петлевого соединителя без определения фактического доменного имени

Надеюсь, это имеет смысл

Привет

Richard

Ответы [ 2 ]

1 голос
/ 11 сентября 2009

Когда вы размещаете свою службу в IIS, адрес службы определяется и контролируется местоположением вашего * .svc-файла - вы не можете переопределить его, задав базовые адреса или явный адрес в конечных точках вашей службы.

Сервисный адрес будет всегда быть:

http://machinename/VirtualDirectory/YourService.svc

Марк

0 голосов
/ 11 сентября 2009

Проверьте ваш веб-конфиг. Вы уточнили, что адрес службы - localhost?

EDIT:

Если подумать, это похоже на проблему с брандмауэром. Порт 4040 заблокирован локальным брандмауэром?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...