Как добавить сервисную ссылку в клиентский проект? - PullRequest
4 голосов
/ 30 июня 2011

Я совершенно новичок в WCF, поэтому, пожалуйста, укажите, если вы нашли что-то, что я делаю здесь совершенно неправильно.Я создал проект службы WCF (мой класс обслуживания получен из класса ServiceBase) с привязкой адреса конечной точки, установленной в basicHttpBinding.Теперь мне нужно создать клиентское приложение, которое может вызывать некоторые API из этого сервиса.Мой вопрос заключается в том, что в моем клиентском приложении я могу добавить ссылку на эту услугу.Нужно ли сначала публиковать эту службу в IIS (что означает, что IIS также должен быть доступен на машине), или есть какой-то другой способ добавить ссылку на службу.

Ответы [ 3 ]

5 голосов
/ 30 июня 2011

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

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

2 голосов
/ 30 июня 2011

Обычно вы размещаете свою службу WCF под IIS в ее окончательном расположении (потому что тогда она также может определить URL для вас), однако вы также можете просто запустить ее непосредственно из Visual Studio, а затем в своем клиенте, в VisualStudio, вы можете щелкнуть правой кнопкой мыши «Ссылки» и выбрать «Добавить ссылку на службу» и указать ее для службы WCF, где бы она ни работала.

После этого для приложения будет создан клиент WCF.off WSDL.

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

Так, чтобы ответить на ваш вопрос более прямо;да, ваша служба должна работать, когда вы "Добавить ссылку на службу" из клиентского приложения.

2 голосов
/ 30 июня 2011

Вам не нужно публиковать его в IIS, с помощью WCF вы можете разместить свой сервис в консольном приложении или приложении для форм Windows, в качестве службы Windows или в IIS.

В вашем клиентском приложении вам просто нужно будет щелкнуть правой кнопкой мыши и добавить ссылку на сервис.

обновление:
Простой пример WCF

...