WCF связь между двумя компьютерами не работает - PullRequest
1 голос
/ 27 мая 2011

Я пытаюсь установить связь WCF между двумя компьютерами, на которых одна будет работать как сервер, а другая - как клиент. Я могу заставить его работать в моей системе, но он не работает, когда я пытаюсь подключиться к системе моего друга.

РЕДАКТИРОВАТЬ: странная вещь происходит сейчас. Я просто запустил wcftestclient из командной строки, указав "адрес wcftestclient". Он получил метаданные сервера моего друга. Но когда я вызываю операцию, она выдает ошибку «нет прослушивания конечной точки на локальном хосте». как это может быть localhost? это должен быть IP-адрес моего друга, верно?

1 Ответ

0 голосов
/ 27 мая 2011

<add baseAddress=...> является разделом <services>, а не клиентом. Чтобы изменить базовый адрес, используемый клиентом WCF , необходимо установить адрес в разделе клиента:

<client>
  <endpoint address="http://your_friend_ip/address" binding=... contract=..." />
</client>

Также обратите внимание, что вам может потребоваться открыть какой-либо порт в брандмауэре службы, чтобы запрос прошел.

Другое дело, что если в службе вашего друга включены метаданные, то вы можете добавить ссылку на службу на своем компьютере (используя VS Add Service Reference или svcutil), указав , указывая на службу вашего друга , и это создаст конфигурацию с соответствующим адресом конечной точки.

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