
- •Введение
- •Постановка задачи
- •1.1 Разработка технического задания
- •1.1 Анализ вариантов использования программы
- •Потоки событий
- •Основной поток
- •2.2. Альтернативные потоки
- •1.2 Требования к приложениям
- •1.3 Входные данные
- •1.4 Выходные данные
- •Анализ алгоритма решения задачи
- •Настольное приложение wpf
- •3.1 Технология Windows Presentation Foundation
- •3.2 Логическое проектирование приложения
- •4. Web приложение на базе скриптов haXe/php
- •Листинг №1. Определение попадания точки в четырехугольник. HaXe.
- •4.3 Результат работы приложения Рисунк 10. Результат эксперимента haXe/php
- •5. Web приложение на базе asp.Net
- •5.1 Программные средства разработки приложения
- •5.2 Логическое проектирование Web-сервиса
- •5.3 Логическое проектирование клиентской части
- •5.3 Генерирование прокси-класса
- •5.4 Вызов web-сервиса в асинхронном режиме
- •5.5 Системные требования
- •5.7Руководство программиста
- •5.7.1 Назначение и условия применения приложения
- •5.7.2Структура приложения
- •5.8.4 Сообщения оператору
- •5.9 Результат работы приложения
- •Анализ вычислительной эффективности приложений
- •Заключение
- •Список литературы
- •Приложение Файл MainWindow.Xaml(настольное приложение)
- •Файл MainWindow.Xaml.Cs
- •Файл Main.Hx(web приложение на базе скриптов)
- •Файл Index.Html
- •Файл Service.Asmx(web сервис)
- •Файл Service.Cs
- •Файл MainWindow.Xaml(клиентская часть приложения wpf)
- •Файл MainWindow.Xaml.Cs
Листинг №1. Определение попадания точки в четырехугольник. HaXe.
if(x3<x4) //esli c<e(slychai 1)
{if(randx<x2)
{newy = getCurve(x1,y1,x2,y2,randx);
if(randy<=newy)
{
points+=1;
}
}
if(randx==x2)
{
points+=1;
}
if(randx==x3)
{
points+=1;
}
if(randx>x2&&randx<x3)
{
points+=1;
}if(randx>x3)
{
newy= getCurve(x3,y3,x4,y4,randx);
if(randy>=newy)
{
points+=1;
}
}
}
if(x3==x4) //esli c==e(slychai 2)
{if(randx<x2)
{
newy = getCurve(x1,y1,x2,y2,randx);
if(randy<=newy)
{
points+=1;
}
}
if(randx>=x2&&randx<=x3)
{
points+=1;
}
}
if(x3>x4) //esli c>e(slychai 3)
{
if(randx<x2)
{
newy = getCurve(x1,y1,x2,y2,randx);
if(randy<=newy)
{
points+=1;
}
}
if(randx==x2)
{
points+=1;
}
if(randx==x3)
{
points+=1;
}
if(randx==x4)
{
points+=1;
}
if(randx>x2&&randx<x4)
{
points+=1;
}
if(randx>x4&&randx<x3)
{newy = getCurve(x3,y3,x4,y4,randx);
if(randy>=newy)
{
points+=1;
4.3 Результат работы приложения Рисунк 10. Результат эксперимента haXe/php
5. Web приложение на базе asp.Net
5.1 Программные средства разработки приложения
Данное приложение состоит из двух частей: клиентского приложения Windows Presentation Foundation и Web–сервиса, обеспечивающего функциональность клиентского приложения.
Информационный сервер Internet компании Microsoft (Internet Information Server – IIS) взаимодействует как со страницами ASP.NET так и с Web-службами, которые отсылают ему запросы по протоколу передачи гипертекстовых файлов HTTP. Запросы кодируются как часть унифицированного указателя информационного ресурса (URL) или представляются в виде XML-текста. В ответ на запрос Web-службы информационный сервер Internet (IIS) создает запрошенный объект. Затем информационный сервер вызывает метод объекта, который обрабатывает соответствующий запрос. Любые возвращаемые данные преобразуются в XML-формат и возвращаются клиенту как ответ по протоколу передачи гипертекстовых файлов HTTP.
Прежде чем клиент сможет использовать Web-службу, он должен быть способен создавать, отправлять, получать и понимать XML-сообщения. Платформа .NET предоставляет решение в виде специального компонента, который называется прокси-классом (proxy class) и который выполняет наиболее трудную часть работы для клиентского приложения. Прокси-класс скрывает вызовы методов Web-службы. Он отвечает за генерацию SOAP-сообщений в корректном формате и управление сообщениями в сети (с помощью протокола HTTP). Когда прокси-класс получает ответное сообщение, он еще и преобразует результаты обратно в соответствующие типы данных .NET.
Благодаря прокси-классу, вызывать Web-метод в Web-службе можно так же легко, как и в локальном компоненте. Однако эта прозрачность не всегда приносит пользу, поскольку Web-службы имеют характеристики, отличающиеся от локальных компонентов. Например, вызов Web-метода занимает неизвестное заранее количество времени, поскольку каждый такой вызов должен преобразовываться в XML и пересылаться через сеть. Чтобы к Web-службе можно было получить доступ с другого компьютера, эта Web-служба должна быть доступной. Необходимо создать виртуальный каталог для Web-службы. Затем, создав Web-сервис, обеспечивающий функциональность клиентского приложения, мы можем из данного приложения вызывать эту службу.