Примечание автора: эта статья была написана в районе 2008 года, и, скорее всего, она уже морально устарела. Однако, судя по отзывам, все еще кому-то полезна. Статья разделена на несколько частей.
Создание клиентского приложения WCF
Итак, настало время создать клиентское приложение и попробовать нашу службу в действии.
Добавим в наше решение новый проект — консольное приложение Windows и назовем его CalcClient.
К созданному проекту нужно добавить ссылку на службу (Add ServiceReference).
В появившемся диалоге нужно нажать кнопку «Discover» (после чего в списке появится наша служба), дать имя ссылке на службу (напрмер, ServiceReference) и нажать Ok (не забываем запустить студию от имени администратора в Висте):
Примечание
VS использует то же самое приложение WcfSvcHost для создания Service Reference, ведь ей нужно получить метаданные службы, а для этого нужна функционирующая точка метаданных.
Также нам нужно добавить ссылку на проект CalcCommon (точно также, как мы это делали для самой службы).
Теперь перейдем в тело метода Main (точки входа нашего консольного приложения) и напишем следующий код:
Этот код демонстрирует, как правильно использовать клиентский объект для взаимодействия со службой, и как правильно закрывать соединение.
Сделаем оба проекта — библиотеку службы и наш новый клиент — стартовыми (это делается в свойствах решения).
Готово! Можно запускать решение. Вот какой результат мы получили:
Изменим теперь код вызова метода службы на следующий:
CalcOperationResult res = client.Calc(1, 0, CalcOperationType.Div);
И запустим приложение. В результате получаем информацию об исключении (деление на ноль):
Заключение
Помните, в связи с выходом нового Framework’а материал статьи может быть устаревшим.
Не забывайте запускать VS с правами Администратора.
Если Вы нашли ошибку, пожалуйcта выделите ее и нажмите Shift + E или нажмите здесь чтобы информировать меня. Спасибо.