Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_гр.220201_МихайловА.Д. варNo.20_ver_1.0.9.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.48 Mб
Скачать
  1. Создание Web –сервиса

Создадим веб-сервис, осуществляющий расчет площади трапеции методом Монте-Карло, по заданным входным данным. Сервис будет возвращать структуру, содержащую площадь, погрешность работы и время вычисления на сервере. Диаграмма классов веб-сервиса представлена на рис.9.

Рис. 9 Диаграмма классов веб-сервиса и прокси класса

Методы класса monte_karlo:

public double[] montecarlo(double ax, double ay, double bx, double by, double cx, double cy, double dx, double dy, int N) – принимает на вход координаты соответствующих точек, количество точек, участвующих в эксперименте; возвращает массив double[] экспериментальных данных: реальную площадь, площадь по методу Монте-Карло, погрешность (в %) и время выполнения (в мс). Метод имеет идентификатор [Web method], что позволяет использовать её как на клиентской стороне, так и для интерактивного тестирования.

public double square_pr(double ax, double ay, double bx, double by, double cx, double cy, double dx, double dy) – принимает на вход координаты соответствующих точек, возвращает площадь прямоугольника, описывающего трапецию.

public double square_tr(double ax, double ay, double bx, double by, double cx, double cy, double dx, double dy) – принимает на вход координаты соответствующих точек, возвращает площадь трапеции.

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

Для начала нам необходимо создать виртуальный каталог в IIS содержащий наш веб-сервис, для этого необходимо запустить менеджер управления IIS и на веб-каталоге по умолчанию щелкнуть правой кнопкой мыши, выбрать пункт «Создать», далее «Виртуальный каталог», далее нам необходимо указать путь к папке содержащей наш веб-сервис, и нажать кнопку «Готово», также необходимо разрешить для этого каталога выполнение сценариев.

Создаем приложение WebForm, которое будет обращаться к вышеописанному веб-сервису. Для этого добавим в решение новый проект – Web Site. При этом создадим веб-ссылку на прокси класс и подключим пространство имен System.Web.Services и Windows.localhost. Для этого щелкним на проекте в окне Solution Explorer правой кнопкой мыши и выберем пункт «Add Web Reference», далее выбираем сервис на данной машине, ищем в полученном списке наш веб-сервис и нажимаем кнопку «Add Reference».

На этапе логического проектирования клиента WebForm для клиент-серверного приложения на базе сервисов ASP.NET нами была введена следующая логическая структура - класс _Default. Диаграмма классов клиентского приложения представлена на рис. 10.

Рис. 10 Диаграмма классов клиентского приложения

Еще одной особенностью данного приложения является то, что не само приложение вычисляет площадь и дополнительные параметры. Оно лишь осуществляет запрос к веб-сервису, который по заданным координатам рассчитывает площадь. Непосредственно перед запросом необходимо создать прокси-класс:

Service Service = new Service();

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

protected void Button1_Click(object sender, EventArgs e)

{Mas = Service.method();}

Как мы видим на рис. 10, класс _Default создан на базе класса Page, который необходимо унаследовать, если нужно создать страницу веб-формы использую метод фонового кода. Класс _Default содержит поля label, используемые вывода результатов, так же в нем присутствуют поля типа TextBox, используемые для ввода результатов.

Класс _Default содержит следующие методы:

protected void RadioButton1_CheckedChanged(object sender, EventArgs e) – кнопка для ввода пользовательских координат.

protected void RadioButton2_CheckedChanged(object sender, EventArgs e) – кнопка для ввода случайных координат.

protected void RadioButton3_CheckedChanged(object sender, EventArgs e) – кнопка для ввода контрольных координат.

protected void Button1_Click(object sender, EventArgs e) – кнопка для проверки и отправки введенных координат на сервер.

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