Создание на платформе. NET клиентских приложений использующих веб-сервисы

Рассмотрим на примере описанного в предыдущей работе веб-сервиса, приветствующего вызывающего его человека по имени, то, каким образом реализовано взаимодействие с веб-сервисами из клиентских приложений на платформе.NET. Для этого добавим в решение проект типа «Windows Console Application». Для подключения веб-сервиса к этому проекту достаточно добавить в раздел «Web References» ссылку на созданный веб-сервис. При этом запускается мастер, который спрашивает адрес веб-сервиса, имя прокси класса и, после введения всей необходимой информации, генерирует сам прокси класс. После этого вызов веб-сервиса из любой точки программы сводится к нескольким строчкам, что демонстрирует простоту взаимодействия с веб-сервисами на платформе.NET:

using System;

using ServiceTest.HelloService;

namespace ServiceTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Введинте имя:");

string name = Console.ReadLine();

Service service = new Service();

string response = service.Hello(name);

Console.WriteLine("Ответ: " + response);

Console.ReadLine();

}

}

}

Результат выполнения этой программы будет следующим:

Рис. 5.1. Результат работы клиентского приложения.

5.2.5 Создание клиентского приложения для работы с веб-сервисом интернет-магазина

После создания веб-сервиса интернет магазина можно приступить к созданию клиентского приложения, его использующего. Для этого веб-сервиса в качестве клиентского приложения можно создать веб-приложение ASP.NET, Windows-приложение или приложение для мобильных устройств. Возможны и другие варианты использования этого веб-сервиса, например другими веб-сервисами, однако остановимся на втором варианте, как самом простом для реализации и понимания полученного исходного кода.

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

Использование веб-сервиса из кода приложения будет выглядеть следующим образом (на примере заполнения списка товаров каталога, представленного экземпляром «lstGoods» класса «ListView»):

Cursor = Cursors.WaitCursor;

lstGoods.Items.Clear();

lstGoods.BeginUpdate();

WebShop.WebShop service = new WebShop.WebShop();

Good[] goods = service.GetGoods(catalogId);

foreach (Good good in goods)

{

string[] cols = new string[4];

cols[0] = "";

cols[1] = good.Name.ToString();

cols[2] = good.Price.ToString();

if (good.Available)

{

cols[3] = "есть";

}

else

{

cols[3] = "нет";

}

ListViewItem item = new ListViewItem(cols);

item.Tag = good;

lstGoods.Items.Add(item);

}

lstGoods.EndUpdate();

Cursor = Cursors.Arrow;

Результат работы этого кода приведен на Рис. 5.2 справа. Отметив необходимые для заказа товары и нажав кнопку «Добавить в корзину», можно перейти к интерфейсу управления корзиной товаров, представленному на Рис. 5.3.

Для каждого товара в этом списке есть возможность задать количество, отличное от единицы, путем двойного клика по товару, после чего появляется диалоговое окно выбора количества товаров, представленное на Рис. 5.4.

Задание личных данных, даты и адреса доставки товара производится с помощью интерфейса, представленного на Рис. 5.5. Здесь также есть возможность просмотреть список совершенных с момента запуска приложения заказов. Для каждого заказа при помощи двойного клика по нему можно узнать его статус в базе данных интернет-магазина. Результат этой операции будет выведен в виде сообщения, пример которого приведен на Рис. 5.6.

Рис. 5.2. Интерфейс выбора товаров.

Рис. 5.3. Интерфейс редактирования списка товаров в корзине.

Рис. 5.4. Диалоговое окно редактирования количества товара в корзине.

Рис. 5.5. Интерфейс просмотра сделанных заказов и редактирования личных данных.

Рис. 5.6. Сообщение о статусе отправленного заказа.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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