Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
my_clientservTechDBMS_2012.doc.doc
Скачиваний:
17
Добавлен:
13.11.2019
Размер:
1.55 Mб
Скачать

5.4 Разработка распределенных приложений баз данных в клиент-серверной архитектуре с использованием сервисов данных

5.4.1. Создание сервиса данных

Открыть пакет Visual Studio 2010.

Меню “File”. Выбираем элемент меню “File new Web site”.

В окне выбираем тип проекта “Empty Web Site” и нажимаем “Ok”.

В Solution Explorer справа становимся на наш проект и с контекстного меню выбираем “Add new Item”

В открывшемся диалоге выбираем в списке “Web Service” и нажимаем кнопку ”Add”.

В Visual Studio 2010 через главное меню открываем “View” \ ”Server Explorer”.

В открывшемся окне делаем через инструмент подключение в базе данных (рис. 5.24).

Рис. 5.24 Создание XML сервиса для доступа к базе данных

Рис. 5.25 Подключение к БД

Переходим к написанию кода. В редакторе кода открываем файл WebService.cs и в начале делаем ссылку на подключаемые сборки.

using System.Data;

using System.Data.SqlClient;

В класс Web сервиса дописываем метод, ответственный за получение данных из базы данных:

[WebMethod]

public DataSet GetData()

{

DataSet ds = new DataSet();

try {

SqlDataAdapter da = new SqlDataAdapter("select * from dbo.Products", "Data Source=W2K8;Initial Catalog=Northwind;Integrated Security=True");

da.Fill(ds);

}

catch (Exception)

{

}

return ds;

}

Получаем следующий проект (рис. 5.26 )

Рис. 5.26 Разработка кода для сервиса доступа к данным

Нажимаем CTRL + F5 и проверяем работоспособность полученного решения. Открывается браузер (рис. 5.27).

Рис. 5.27 Проверка работоспособности сервиса в браузере

Выбираем созданный нами метод “GetData” (рис. 5.28)

Рис. 5.28 Проверка работоспособности сервиса. Продолжение

Нажимаем кнопку “Invoke” и в XML формате получаем данные из базы данных (рис. 5.29). Сервис создан.

Рис. 5.29 Данные из базы данных, возвращенные сервисом данных

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

Выбираем в “Solution Explorer” корневой элемент. С контекстного меню выбираем “Add new Project”.

В открывшемся диалоге выбираем “Windows Forms Application” и нажимаем “OK”.

В новом проекте переходим на раздел References и с контекстного меню выбираем “Add Service Reference”.

На открывшемся диалоге нажимаем кнопку “Advanced”. Открывается еще один диалог (рис. 5.30).

Рис. 5.30 Подключение XML веб сервиса

На нем нажимаем “Add Web Reference”. В открывшемся диалоге выбираем “Web Services in current in this solution” (рис. 5.31).

Рис. 5.31 Подключение XML веб сервиса. Продолжение

В следующем окне выбираем созданный раньше WebService (рис. 5.32-5.33).

Рис. 5.33 Создание прокси классов для подключения XML веб - сервиса

Нажимаем “Add Reference”.

В “Solution Explorer” добавляются несколько новых файлов прокси - класса обертки нашего сервиса (рис. 5.34).

Рис. 5.34 Обновленный состав проекта

Переходим на “Toolbox” и на формочку “Form1 проекта добавляем кнопку и компонент datagridview, у которого выставляем свойство “Dock” в состояние “Buttom”.

Двойным щелчком по кнопке на проектируемой форме создаем обработчик события кнопки.

Пишем код в создавшемся обработчике события:

private void button1_Click(object sender, EventArgs e)

{

DataSet ds = new DataSet();

localhost.WebService S = new localhost.WebService();

try

{

ds = S.GetData();

dataGridView1.DataSource = ds.Tables[0];

}

catch (Exception ex) {MessageBox.Show(ex.Message);}

}

В Solution Explorer на Windows Forms Application c контекстного меню выставляем Set as Startup project.

Компилируем и запускаем проект (кнопка F5).

Проверяем работоспособность примера (рис. 5.35)

Рис. 5.36 Проверка работоспособности клиентского приложения баз данных

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]