Почему конечные точки WCF игнорируют файл hosts? - PullRequest
5 голосов
/ 14 января 2010

У меня есть конечные точки, определенные в файле конфигурации с «поддельным» доменным именем. Идея заключается в том, что это облегчит развертывание, поскольку вместо изменения файлов конфигурации мы просто устанавливаем IP-адрес «поддельного» доменного имени в файлах хоста среды. Так, например, на моем локальном устройстве разработчика у меня будет запись в файле hosts

127.0.0.1       fake.domain

и в среде принятия пользователя у меня может быть

192.45.34.31    fake.domain

но в моем конфигурационном файле я бы просто имел конечную точку

<endpoint address="http://fake.domain/someServiceBase/SomeService.svc" ... />

Однако WCF, похоже, полностью игнорирует файл hosts. Я могу скопировать этот адрес в браузер, и он сразу же появится, но клиент WCF (который находится в локальной папке dev) выдаст ошибку «host not found».

Почему WCF игнорирует файл hosts?

Edit: Дополнительное примечание, все работает, если я заменяю адрес конечной точки, чтобы использовать фактический IP-адрес непосредственно в файле конфигурации, например,

<endpoint address="http://127.0.0.1/someServiceBase/SomeService.svc" ... />

1 Ответ

2 голосов
/ 15 января 2010

Почему WCF игнорирует файл hosts?

Хм, я подозреваю, что это не так. Я предполагаю, что ваш клиент устанавливает соединение, но перенаправляется службой.

Здесь есть статья , подробно описывающая конечные точки:

Канальная инфраструктура Windows Communication Foundation вращается вокруг физического адреса, поскольку она отвечает за прием входящих сообщений с использованием определенного транспортного протокола в определенном месте. Диспетчер Windows Communication Foundation, с другой стороны, защищен от таких сетевых деталей и вместо этого сосредоточен на сопоставлении входящего сообщения конечной точке и, в конечном счете, вызову метода.

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