Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по дисциплине.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
63.5 Кб
Скачать

Лабораторная работа № 3

Задание: Создать веб-сервис, используя технологию веб-приложений ASP.NET и web-services (*.asmx). Реализовать метод для запроса объектов с сервера (которые должны храниться в базе данных, для каждого класса, который задан в варианте). Реализовать методы для создания объектов каждого из классов заданного варианта на сервере (в метод передаются параметры, создание объекта происходит на сервере, объект записывается в базу данных). Клиентское приложение должно обращаться к веб-сервису, разработанному студентом с любым другим вариантом лабораторной работы.

Ссылка на веб-сервис должна быть добавлена в приложение, созданное в предыдущей лабораторной работе. Из оконного приложения запрос должен отправляться к веб-сервису для получения списка объектов и создания новых.

Запросы к серверу и их обработка должны использовать асинхронные варианты методов веб-сервиса (они генерируются автоматически для каждого соответствующего метода).

Варианты:

В соответствии с первой лабораторной работой.

Вспомогательный материал:

Тип проекта должен представлять собой веб-приложение (Файл- Создать –Веб-узел – Пустой веб-сайт). Сразу после создания веб-приложения – необходимо разместить в нем специальные папки Bin и App_code (в «Обозревателе решений» на проекте кликнуть правой кнопкой и выбрать «Добавить папку ASP.NET» - Bin, затем App_code).

В корне сайта (на уровне файла web.config) создать папку с именем webservice (не специализированное имя папки, используется только для удобства) – кликнуть правой кнопкой на проекте (в «Обозревателе решений»), выбрать «Создать папку», затем задать имя «webservice».

Кликнуть правой кнопкой на папке «webservice» и в меню выбрать «Добавить новый элемент – Веб-служба». Задать необходимое имя. Далее обратить внимание на то, что в папке «webservice» появился файл *.asmx, а в папке App_Code появился файл *.cs с именем, соответствующем имени файла *.asmx. В файла *.cs будет расположено описание веб-сервиса (подробнее в разделе ресурсы).

К проекту веб-приложения необходимо подключить библиотеку классов (добавив в решение проект библиотеки классов, как это было в лабораторной работе № 1).

Необходимо обратить внимание на изучение основ протокола SOAP, атрибутов веб-методов (атрибут [WebMethod]), понятие wsdl структур.

Для создания базы данных необходимо воспользоваться менеджером Microsoft SQL Server Management Studio, запустив с использованием SQL Server-аутентификации. Если данный тип аутентификации не поддерживается, необходимо выполнить вход на сервер через Management Studio под учетной записью Windows, кликнуть правой кнопкой по наименованию сервера в окне просмотра объектов сервера и в меню выбрать «Свойства», в появившемся окне выбрать раздел «Безопасность», затем в меню «Серверная проверка подлинности» выбрать пункт «Проверка подлинности SQL Server и Windows», нажать «ОК». Затем в разделе «Безопасность – Имена входа» добавить нового пользователя (кликнуть правой кнопкой на папке «Имена входа» и выбрать пункт «Создать имя входа»).

Для создания базы данных необходимо в Management Studio правой кнопкой мыши кликнуть на папке «Базы данных», выбрать «Создать базу данных». Затем для создания таблицы необходимо раскрыть базу данных, выбрать раздел «Таблицы», кликнуть правой кнопкой и выбрать «Создать таблицу».

Доступ к базе данных из веб-приложения (веб-сервиса) необходимо осуществлять с использованием технологии LINQ. Для этого необходимо кликнуть правой кнопкой на папке «App_code», выбрать пункт «Добавить новый элемент», затем «Классы Linq to SQL». После чего откроется окно дизайнера. Далее необходимо в меню Visual Studio выбрать пункт «Вид – Обозреватель серверов», откроется окно для доступа к сервере Microsoft SQL Server. Нажать на кнопку «Подключиться в базе данных», в качестве провайдера выбрать «Microsoft SQL Server», в качестве имени сервера указать localhost (либо localhost\sqlexpress – в соответствии с тем, как имя сервера отображается в Microsoft SQL Server Management Studio). В разделе «Вход на сервер» установить галочку в поле «Использовать проверку подлинности SQL Server», указать имя и пароль (созданные ранее), в поле «Укажите имя базы данных» выберите свою базу данных, нажмите «ОК». Далее в «Обозревателе серверов» откройте узел «Таблицы» и перетащите все таблицы в дизайнер LINQ to SQL. Затем сохраните. Теперь каждая таблица будет представлена классом с соответствующим именем. Доступ к таблицам будет проходить через контекст (имя которого соответствует имени, заданном в дизайнере LINQ to SQL). Для изучения основ работы с LINQ воспользуйтесь разделом «Ресурсы».

После того, как веб-сервис будет создан – необходимо добавить на него ссылку в оконном приложении. Обратите внимание на то, что встроенный веб-сервер ASP.NET должен быть запущен в момент, когда выполняется работа с веб-сервисом (проще всего в Visual Studio запустить проект веб-приложения на исполнение и оставить выполняться в процессе работы с оконным приложением для доступа к веб-сервису). Для добавления ссылки на веб-сервис в оконном приложении необходимо кликнуть на проекте оконного приложения в «Обозревателе решений», затем выбрать пункт «Добавить ссылку на службу», в появившемся окне нажать на кнопку «Дополнительно», затем «Добавить веб-ссылку», откроется окно в котором будет отображена строка для указания URL адреса. В строке необходимо указать адрес веб-сервиса (остановите проект веб-приложения, откройте файл *.cs веб-сервиса и снова запустите проект, в браузере откроется страница доступа к методам веб-сервиса, скопируйте адрес из адресной строки – это и будет адрес веб-сервиса). После того, как адрес будет указан, необходимо выполнить переход по этому адресу, после чего в правой части окна станет доступной кнопку «Добавить ссылку».

После добавления ссылки на веб-сервис в оконном приложении доступ к веб-сервису будет состоять в создании объекта класса веб-сервиса и вызова его методов.

Ресурсы:

Пошаговое руководство. Создание и использование веб-службы ASP.NET: http://msdn.microsoft.com/ru-ru/library/8wbhsy70(v=vs.100).aspx .Дополнительный материал: http://www.c-sharpcorner.com/UploadFile/mahakgupta/a-simple-example-of-web-service/ | http://www.dreamincode.net/forums/topic/34279-introduction-to-web-services-in-c%23/

Глава «Data Access with LINQ to SQL» книга (стр. 901) : ASP.NET Unleashed – Stephen Walther.