Опубликован: 05.08.2007 | Уровень: специалист | Доступ: платный
Лекция 14:

Создание и использование Web-сервиса

< Лекция 13 || Лекция 14: 12345

Разработка приложения, использующего web-сервис

В качестве клиента, вызывающего web-методы, применим Windows-приложение. Создайте новый Windows-проект и назовите его "Test NorthwindWS". Добавляем на форму элементы управления DataGrid и Panel, свойствам Dock этих элементов устанавливаем значения "Fill" и "Bottom" соответственно.

На панели размещаем две кнопки, устанавливая им следующие свойства:

button1, свойство Значение
Name btnFill
Location 26; 16
Text Заполнить
button2, свойство Значение
Name btnUpdate
Location 122; 16
Size 144; 23
Text Передать изменения

Интерфейс готов. В окне Solution Explorer щелкаем правой кнопкой на узле "References" и в появившемся контекстном меню выбираем пункт "Add Web Reference_" (рис. 14.13):

 Окно Solution Explorer

Рис. 14.13. Окно Solution Explorer

В появившемся окне Add Web Reference доступен просмотр всех web-служб. Поскольку наш сервис расположен на локальном компьютере, нажимаем на ссылку "Web services on the local machine". Далее снова переходим по ссылке "DataNorthwind" (рис. 14.14):

 Окно Add Web Reference, просмотр web-служб

увеличить изображение
Рис. 14.14. Окно Add Web Reference, просмотр web-служб

Появляется уже знакомый нам отчет, на котором можно просмотреть описание сервиса и его методов. В поле Web reference name можно ввести имя создаваемой ссылки. Мы оставляем предложенное название "localhost" и нажимаем кнопку "Add Reference" (рис. 14.15):

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

увеличить изображение
Рис. 14.15. Добавление ссылки на сервис DataNorthwind

В окне Solution Explorer появилась папка Web Reference с узлом localhost. Дважды щелкаем на этом узле. В окне Object Browser мы можем просмотреть описание web-методов, предоставляемых сервисом (рис. 14.16):

 Просмотр web-методов в окне Object Browser

увеличить изображение
Рис. 14.16. Просмотр web-методов в окне Object Browser

Впрочем, поскольку у нас имеется всего три предельно простых метода, мы можем вернуться к коду. Подключаем пространство имен для получения доступа к добавленному сервису:

using TestNorthwindWS.localhost;

В классе формы создаем экземпляр myService:

DataNorthwind myService = new DataNorthwind();

В обработчиках кнопок "btnFill" и "btnUpdate" вызываем соответствующие web-методы:

private void btnFill_Click(object sender,
 System.EventArgs e)
{
	DataSet ds = myService.ZapolnenieDannimi();
	dataGrid1.DataSource = ds.Tables[0].DefaultView;
}

private void btnUpdate_Click(object sender, System.EventArgs e)
{
	DataSet ds = (DataSet)dataGrid1.DataSource;
	if(!myService.PeredachaIzmeneniy(ds))
	MessageBox.Show("Ошибка обновления",
	 "При передаче изменений возникла ошибка" );
}

Запускаем приложение. Мы можем просматривать и изменять содержимое таблицы Customers (рис. 14.17):

 Готовое приложение TestNorthwindWS

Рис. 14.17. Готовое приложение TestNorthwindWS

Как работает наше приложение? Мы добавили ссылку на web-службу, аналогично добавлению обычной библиотеки. Не имеет значения, где эта служба находится. Далее мы просто создаем объект класса службы и вызываем соответствующие методы. При нажатии на кнопку "Заполнить" происходит обращение к серверу IIS, который, в свою очередь, обращается к MS SQL Server и получает данные для объекта DataSet. Наше приложение устанавливает полученный DataSet в качестве источника данных для элемента управления DataGrid. Аналогично выполняется метод, привязанный к кнопке "Передать изменения".

В программном обеспечении к курсу вы найдете приложение Test NorthwindWS (Code\Glava7\ TestNorthwindWS).

< Лекция 13 || Лекция 14: 12345
Александра Тимофеева
Александра Тимофеева
Украина, Киев
Bakke Aleksander
Bakke Aleksander
Россия, Mуниципальный округ N 4