Применение Microsoft ASP.NET AJAX Андрей Скляревский.NET Developer andrew@oridea.org.

Презентация:



Advertisements
Похожие презентации
Проф. В.К.Толстых, Применение ASP.NET AJAX Extensions Asynchronous JavaScript And XML (Асинхронный JavaScript и XML) Основано на существующих.
Advertisements

AJAX Выполнила: студентка группы ПИ-311 Газизова Влада.
WEB- ТЕХНОЛОГИИ Лекция 5. Традиционное Web- программирование 1.
Троицкий Д.И. Интернет-технологии1 ДИНАМИЧЕСКИЕ WEB-СТРАНИЦЫ СЕРВЕРНЫЕ СЦЕНАРИИ Лекция 9 Кафедра «Автоматизированные станочные системы» Dept. of Automated.
Богданов Марат Робертович Современные веб-технологии. Подробный курс RIA-приложения.
Использование AJAX для асинхронной передачи данных. Что такое AJAX. Как использовать. В чем преимущество. Примеры использования на крупных сайтах. Выполнила:
ATLAS/AJAX – новый подход к web Кондратьев Денис VNG User Group
Тренинг «Разработка веб-приложений на ASP.NET» Занятие 2 Страницы и элементы управления Гайдар Магдануров
AJAX Asynchronous JavaScript and XML среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Система усиленной аутентификации по отпечатку пальца.
МЕТОДИКА РАЦИОНАЛЬНОГО ВНЕДРЕНИЯ ТЕХНОЛОГИИ АСИНХРОННЫХ ЗАПРОСОВ В WEB-САЙТЫ Четвертая международная научно-техническая конференция ПРОБЛЕМЫ ТЕЛЕКОММУНИКАЦИЙ.
Редакционная система интернет-издания «Газета.Ru» 2008 Особенности издания СМИ в интернет Редакционная издательская система Редакционный процесс Публикация.
ZEN - новая среда для разработки и выполнения Web-приложений Александр Павлов «Школа Инноваций InterSystems 2007»
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – валидация, валидационные элементы управления Из цикла.
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
AJAX Asynchronous Javascript and XML. Для чего нужен AJAX Недостаточная функциональность HTTP и HTML Не интерактивен Нет частичных обновлений Альтернативы.
Комплексная система обеспечения межведомственного электронного взаимодействия региональных и федеральных органов исполнительной власти на базе СМЭВ.
Единая система аутентификации Обзор решения Москва, 2012г.
Web 2.0 Твердохлеб Татьяна гр.9231 users, thro. Web 2.0 (определение Тима ОРейли) методика проектирования систем, которые путём учета сетевых взаимодействий.
Web 2.0 Твердохлеб Татьяна гр.9231 users, thro. Web 2.0 (определение Тима ОРейли) методика проектирования систем, которые путём учета сетевых взаимодействий.
Транксрипт:

Применение Microsoft ASP.NET AJAX Андрей Скляревский.NET Developer

Обычная модель динамического Веб-сайта ПользовательСервер 1) Запрос вида Веб-формы 2) Отправка Веб-формы (HTML) 3) Заполнение и отправка данных 4) Отправка результатов обработки (HTML)

Проблемы обычной модели Веб-сайта ПользовательСервер 1.Неэффективность: много лишних запросов – один и тот же код (HTML, JavaScript, etc.) много раз проходит весь путь от клиента до сервера; 2.Медлительность: у пользователя может сложиться ощущение, как будто ничего не происходит, если возникает какая-либо транспортная ошибка, то ему показывается сообщение вроде «Невозможно открыть страничку», для динамических сайтов и Веб- приложений, часто бывает, что команда «Обновить» не решает проблемы.

Модель Веб-сайта с использованием AJAX (Asynchronous JavaScript And XML) ПользовательСервер 1) Запрос вида Веб-формы 2) Отправка Веб-формы (HTML) 3) Слой AJAX: Отправка данных на сервер и представление результатов без полной перезагрузки странички

Обновление Веб-странички при использовании AJAX 1.Загружается базовый HTML с сервера; 2.Пользователь вводит данные или срабатывает заданный таймер обновления; 3.При помощи JavaScript отправляется запрос на сервер, содержащий необходимую информацию о действиях пользователя; 4.Сервер отправляет необходимые данные клиенту, которые могут представлять собой HTML-код, простой текст или сериализованные объекты; 5.На клиенте данные преобразуются и отображаются (HTML-код или текст вставляется в соответствующий элемент, если от сервера пришли сериализованные объекты, они десериализуются и на их основе генерируются деревья элементов DOM); 6.Пользователь может вновь модифицировать данные или добавить новые, которые затем снова могут быть отправлены на сервер для сохранения. Таким образом, полной перезагрузки странички не происходит.

Компоненты ASP.NET AJAX 1.ASP.NET 2.0 AJAX Extensions – главный компонент ASP.NET AJAX, являющийся набором функциональности, предназначенной для исполнения на серверной стороне. Позволяет проводить Веб-разработку с использованием AJAX практически точно так же, как и традиционную разработку Веб-сайтов ASP.NET. 2.Microsoft AJAX Library – набор JavaScript скриптов, объединённых в общую библиотеку. Позволяет проводить взаимодействие серверного кода с клиентским, скрывая технические детали, не меняющиеся от проекта к проекту. Этот набор доступен для скачивания с Веб-сайта ASP.NET AJAX отдельно от AJAX Extensions разработчикам на других платформах. 3.ASP.NET AJAX Control Toolkit – дополняет функциональность ASP.NET AJAX Extensions, содержит элементы управления, которые разработчик может использовать как они есть (as-is) или дополнив их нужными функциями.

Основные методы внедрения технологии AJAX на странички ASP.NET UpdatePanel: Новый элемент управления, представляющий собой особеннную панель, которая позволяет обновлять выбранный регион странички без её полной перезагрузки. При этом можно использовать элементы управления из стандартного набора ASP.NET, а так же и практически любые другие – обычно достаточно просто поместить их внутрь UpdatePanel, чтобы они начали работать без полной перезагрузки странички (postbacks); Вызов серверных Веб-сервисов из клиентского JavaScript кода: ASP.NET AJAX Extensions может сгенерировать JavaScript-обёртку для обычного XML Веб-сервиса, что позволяет использовать методы этого Веб-сервиса прямо в исполняющимся в браузере JavaScript коде, модифицируя затем содержание странички самостоятельно через DOM-модель;

Postbacks ASP.NET AJAX Extensions: UpdatePanel ASP.NET Page textBoxFirstName textBoxLastName textBoxSubject textBoxBody buttonSubmit AJAX ASP.NET Page textBoxFirstName textBoxLastName textBoxSubject textBoxBody buttonSubmit UpdatePanel Для внедрения технологии AJAX иногда достаточно лишь вставить UpdatePanel на уже существующую страничку. Кроме этого, обычно необходимо ещё немного модифицировать работу «валидаторов» и некоторых других элементов управления.

ASP.NET AJAX Extensions: UpdatePanel

ASP.NET AJAX Extensions: Вызов метода Веб-сервиса на клиенте Бизнес-логика на сервере BusinessObject Метод Веб-сервиса ASP.NET AJAX позволяет легко создать Веб-сервис, методы которого можно будет использовать не только по протоколу SOAP, но и на стороне клиента, используя JavaScript. ASP.NET AJAX JSON сериализация объекта JavaScript: передача данных и вызов метода успешного получения данных с сервера JavaScript обработка данных Метод-получатель данных Конструкция дерева DOM

ASP.NET AJAX Extensions: Вызов метода Веб-сервиса на клиенте

Что такое JSON? JSON var contact = { Name: John Smith", PrimaryAddress": Weight: 80, Friends": [ { Name": Alex", ": }, { Name": Frank", ": } ] }; JavaScript Object Notation – хорошая альтернатива XML, когда речь идёт о быстродействии и удобстве процессов сериализации и десериализации объектов на клиенте и сервере; ASP.NET AJAX Extensions содержит классы для сериализации и десериализации объектов с использованием JSON, который стандартно используется для объектов передаваемых в Веб-сервис и им возвращаемых, при этом существует возможность модифицировать алгоритм сериализации. Объект «contact» string Name string PrimaryAddress Friend[] Friends Friend string Name string decimal Weight

Модификация алгоритма JSON-сериализации Алгоритм JSON-сериализации можно модифицировать, создав класс, наследующийся от System.Web.Script.Serialization.JavaScriptConverter и реализующий методы Deserialize, Serialize и свойство SupportedTypes. JavaScriptConverter предназначен только для изменения сериализуемых данных, но не способа генерации JSON. Метод Serialize принимает объект для сериализации, а возвращает IDictionary, которая уже и преобразовывается в JSON. Метод Deserialize, соответственно, принимает IDictionary и тип объекта (System.Type), а возвращает объект. Свою реализацию JavaScriptConverter нужно так же зарегистрировать, либо используя метод JavaScriptSerializer.RegisterConverters, либо, более удобным в большинстве случаев способом – модификацией Web.config: В секции system.web.config / scripting / webServices.

ASP.NET AJAX Control Toolkit Содержит большое количество универсальных элементов управления, подобные которым ранее приходилось заново разрабатывать в разных проектах; Протестирован в нескольких браузерах и поддерживается Microsoft, как и другие компоненты ASP.NET AJAX; Элементы управления можно использовать прямо как они есть;