Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемМария Ярмолинцева
1 проф. В.К.Толстых, Пример Web-службы Калькулятор с валидацией Из цикла лекций «Internet-технологии разработки приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета Показать работу приложения GetWebServiceCalculateGetWebServiceCalculate
2 Web-служба «Калькулятор» Имя службы Атрибуты метода Параметры метода Реализация метода: Имя метода Атрибуты службы Содержание файла – одна строка Поддержка сервиса для ранних версий 1.1
3 Атрибуты CacheDuration – определяет промежуток времени в секундах на который кэшируется Web-служба. По умолчанию он равен 0, т.е. кэширование отключено. Description – описание метода, которое выводится на страницу службы под ссылкой на страницу метода. EnableSession – включает поддержку сеансов: [WebMethod(EnableSession=true)]. По умолчанию поддержка сеансов в Web-службах отключена, т.е. после выполнения каждого метода связь со службой разрывается. TransactionOption – управляет поддержкой транзакций MessageName – альтернативное (уникальное) имя метода, если их несколько с одним именем, т.е. – перегружаемые. BufferResponse – по умолчанию true, т.е. – ответ Web-службы перед отправкой на запрос клиента полностью формируется в буфере.
4 Тестирование Web-службы «Калькулятор» Показать тестирование метода CalculateCalculate Полное тестирование (в указанном виде) доступно только с локального сервера Показать WSDL Описание службы WSDL Описание службы Ответ – результат тестирования
5 Вызов Web-службы «Калькулятор»в ASP.NET-приложении GetWebServiceCalculate Вызов Web-службы «Калькулятор» в ASP.NET-приложении GetWebServiceCalculate Готовим ASP.NET проект для отправки исходных данных в Web-службу Валидатор CustomValidadtor далее
6 Подключение ссылки в VS 2012 на Web-службу «Калькулятор» Если Web-служба когда-либо будет модернизирована, то необходимо ссылку обновить через локальное меню папки App_WebReferences Пространство имён, где будет находится прокси-класс для службы Calculate.asmx
7 Вызов Web-служб реализуется с асинхронных.aspx - страниц, т.е. в директиве Page файла.aspx должно быть Async="true". Асинхронный вызов актуален если таких вызовов несколько и они связаны между собой. При этом код прокси-класса (для взаимодействия с web-службой) автоматически синхронизирует все поставленные в очередь вызовы и блокирует рендеринг страницы до тех пор пока все они не будут выполнены. Приложения, требующие длительного времени обработки (Web-службы, БД), должны организовываться в виде асинхронных страниц. В момент ожидания ответа от других серверов они не занимают пул приложений и не прерывают связь с клиентом из-за ограниченности времени. Синхронные страницы могут «забить» пул ожиданием ответов от внешних задач => новые запросы не обрабатываются (503 «Server too busy»), процессор приложения почти бездействует, а задачи в пуле снимаются с сообщением… Проверьте атрибут асинхронного вызова страницы новые запросы не обрабатываются (503 «Server too busy»), процессор приложения почти бездействует, а задачи в пуле снимаются с сообщением… Проверьте атрибут асинхронного вызова страницы">
8 Код асинхронной страницы в VS 2012 –.NET 4.5 Входные переменные для Web-службы Идентификатор прокси-класса Web-службы Вызов метода валидации текущей страницы далее
9 Валидаторы проекта Проект может быть дополнен серверной и клиентской реализацией валидатора CustomValidator. Контроль данных целесообразно проводить до вызова удалённых служб. Серверная часть валидатора: Клиентская часть валидатора: Если преобразование к вещественному числу не дало результат NaN для обеих текст-боксов, то валидация на клиентской машине – успешная. Клиентский скрипт программируется вручную. Параметры функции – стандартные идентификаторы.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.