double arrow

Клиентская часть. Создание клиентского приложения с использованием консольного приложения


Лабораторная работа № 13

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

Сервис

Создайте Web-сервис, реализующий теорему Пифагора. Для этого в среде разработки Visual Studio 2010 следует выполнить команду меню Файл | Создать проект | и в появившемся диалоговом окне Создать проект в поле Установленные шаблоны выбрать Visual Basic и Веб. В верхнем поле выбрать .NET Framework 2.0. В поле Шаблоны выделить значок Приложение веб-служб ASP.NET. В поле Имя следует указать наименование создаваемого проекта. Укажите имя MyService2 и щелкните ОК. После того, как все необходимые приготовления средой разработки будут сделаны, на основном рабочем поле появится страница с проектом MyService2.

Очевидно, что для реализации заданного сервиса в листинге Servicel.asmx.vb вместо функции HelloWorld необходимо задать функцию, реализующую поставленную задачу. Назовем эту функцию PythagoreanTheorem и опишем ее следующим образом:

Листинг 13.1

Public Function PythagoreanTheorem(ByVal a As Double, _

ByVal b As Double) As Double

Dim dblSum As Double

dblSum = a ^ 2 + b ^ 2

Return Math.Sqrt(dblSum)

End Function

В объявлении функции указано, что она будет воспринимать два параметра a и b типа Double, т.е. значения двух катетов, и возвращать значение гипотенузы типа Double.




Выполнив замену функций в файле Servicel.asmx.vb, получим представление этого файла в виде, приведенном на рисунке 13.1.

Рис.12.1. Внешний вид страницы Servicel.asmx.vb с функцией PythagoreanTheorem

Протестируем работу созданного Web-сервиса. После компиляции обратимся к нему из браузера, нажав клавишу F5. На рис. 13.2 приведен внешний вид Web-страницы, которая генерируется Web-сервером при попытке обращения к Web-сервису.

Рис.13.2. Внешний вид Web – страницы, соответствующей Web – сервису

После щелчка мышью на ссылке, указывающей на функцию PythagoreanTheorem, в браузере будет отображена Web- страница, предоставляющая доступ к этой функции. Внешний вид этой Web-страницы показан на рис. 13.3.

Рис.13.3. Web – страница, предоставляющая пользователю доступ к функции PythagoreanTheorem

На этой странице расположены два поля ввода, в которых необходимо указать значения катетов, передаваемых функции, и кнопка Запуск, при нажатии на которую эти параметры будет переданы функции сервиса, и в браузер будет отправлен результат работы сервиса.

Введем в поле а цифру 3, в поле b цифру 4 и топчем Запуск.Браузер отобразит Web-страницу с результатом работы функции сервиса. Внешний вид этой страницы показан на рис. 13.4.

Рис.13.4. Web-страница с результатом работы функции при а=3 и b=4

И так, тестирование вновь созданного сервиса прошло успешно. Чтобы выполнить локальное размещение Web – сервиса, требуется вернуться к странице, приведенной на рисунке 13.1, и выполнить следующие настройки:



- В обозревателе решений два раза щелкнуть ЛКМ по строчке MyProject. Откроется закладка с названием проекта MyService2.

- На выбранной закладке в левом поле выбрать Веб, а в правом поле, используя полосу прокрутки, установить радиокнопку Использовать локальный веб–сервер IIS. В текстовом поле URL–адрес проекта: появится локальный URL–адрес http://localhost/MyService2.

- Щелкнуть ЛКМ по кнопке Создать виртуальный каталог.

- Закрыть закладку MyService2.

- Выполнить компиляцию проекта MyService2.

- Закрыть Visual Studio 2010.

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

Клиентская часть

Для создания клиента в виде консольного приложения необходимо в среде разработки Visual Studio 2010 создать новый проект и в появившемся диалоговом окне Создать проект в поле Установленные шаблоны выбрать Visual Basic и Windows. В верхнем поле выбрать .NET Framework 2.0. В поле Шаблоны выделить значок Консольное приложение. В поле Имя следует указать наименование создаваемого проекта. Укажите имя ConsoleClient и щелкните ОК. После того, как все необходимые приготовления средой разработки будут сделаны, на основном рабочем поле появится страница с проектом ConsoleClient.

Для доступа к Web - сервису из консольного приложения клиента необходимо сначала добавить ссылку на Web-службу. Чтобы добавить веб-узел ссылки, в окне Обозреватель решений, щелкните правой кнопкой мыши по названию проекта ConsoleClient , а затем нажмите кнопку Добавить веб-ссылку. Появится окно Добавить веб-ссылку, приведенное на рисунке 13.5. В этом окне выберете Веб-службы на локальном компьютере. Visual Studio 2010 запустится на поиск локального компьютера для всех доступных веб-служб. Это может занять некоторое время. Появится новое окно Добавить веб-ссылку, приведенное на рисунке 13.6, в котором будут приведены все доступные в данный момент на локальном компьютере веб-службы. Нажмите кнопку Service1, соответствующее URL с адресом http://localhost/MyService2/WebReferences/localhost/Service1.disco.



Рис 13.5. Внешний вид окна Добавить веб-ссылку

Рис 13.6. Внешний вид нового окна Добавить веб-ссылку

Появится новое окно Добавить веб-ссылку, приведенное на рисунке 13.7. В этом окне нажмите кнопку Добавить ссылку.

Рис 13.7. Внешний вид нового окна Добавить веб-ссылку

Появится окно кода для Module1.vb, приведенное на рисунке 13.8.

Рис. 13.8 Окно кода для Module1.vb

Для процедуры Main вставьте код, приведенный в листинге 13.2.

Листинг 13.2

Dim hypotenuse As Double

Dim ws As New localhost.Service1()

'Pythagorean Triple: 3, 4, 5

hypotenuse = ws.PythagoreanTheorem(3, 4)

Console.WriteLine(hypotenuse)

'Pythagorean Triple: 5, 12, 13

hypotenuse = ws.PythagoreanTheorem(5, 12)

Console.WriteLine(hypotenuse)

'Pythagorean Triple: 7, 24, 25

hypotenuse = ws.PythagoreanTheorem(7, 24)

Console.WriteLine(hypotenuse)

Console.Read()

Код Module1.vb принимает вид, приведенный на рисунке 13.9

Рис. 13.9 Окно кода для Module1.vb

Осталось совсем маленько - выполнить построение кода Module1.vb и нажать клавишу F5, чтобы запустить клиента в работу. Клиент три раза обращается к Web – сервису, передавая ему каждый раз новые значения катетов треугольника и принимая от него вычисленные значения гипотенуз. Полученные результаты клиент выводит на консоль (рис. 13.10).

Рис.13.10. Результат работы клиента

Задания для самостоятельного выполнения

13.1. Создать клиента в виде консольного приложения с другими значениями катетов.







Сейчас читают про: