Создание простейшей WCF-службы. Часть 3.

Примечание автора: эта статья была написана в районе 2008 года, и, скорее всего, она уже морально устарела. Однако, судя по отзывам, все еще кому-то полезна. Статья разделена на несколько частей.

Часть 1, Часть 2, Часть 3

Создание клиентского приложения WCF

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

Добавим в наше решение новый проект — консольное приложение Windows и назовем его CalcClient.

Консольное клиентское приложение

Консольное клиентское приложение

К созданному проекту нужно добавить ссылку на службу (Add ServiceReference).

Добавление ссылки на сервис

Добавление ссылки на сервис

В появившемся диалоге нужно нажать кнопку «Discover» (после чего в списке появится наша служба), дать имя ссылке на службу (напрмер, ServiceReference) и нажать Ok (не забываем запустить студию от имени администратора в Висте):

Диалоговое окно добавления ссылки на сервис

Диалоговое окно добавления ссылки на сервис

Примечание

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

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

Теперь перейдем в тело метода Main (точки входа нашего консольного приложения) и напишем следующий код:

Main

Этот код демонстрирует, как правильно использовать клиентский объект для взаимодействия со службой, и как правильно закрывать соединение.

Сделаем оба проекта — библиотеку службы и наш новый клиент — стартовыми (это делается в свойствах решения).

Диалоговое окно выбора стартовых проектов

Диалоговое окно выбора стартовых проектов

Готово! Можно запускать решение. Вот какой результат мы получили:

Результат обращения к WCF службе

Результат обращения к WCF службе

Что логично — 1 + 2 = 3.

Изменим теперь код вызова метода службы на следующий:

CalcOperationResult res = client.Calc(1, 0, CalcOperationType.Div);

И запустим приложение. В результате получаем информацию об исключении (деление на ноль):

Результат обращения к WCF-службе — произошла ошибка

Результат обращения к WCF-службе — произошла ошибка

Заключение

Помните, в связи с выходом нового Framework’а материал статьи может быть устаревшим.

Не забывайте запускать VS с правами Администратора.

Если Вы нашли ошибку, пожалуйcта выделите ее и нажмите Shift + E или нажмите здесь чтобы информировать меня. Спасибо.

Добавить комментарий