Опубликован: 15.06.2011 | Доступ: свободный | Студентов: 708 / 59 | Оценка: 4.25 / 4.00 | Длительность: 14:09:00
Лекция 3:

Технология ASP.NET AJAX

< Лекция 2 || Лекция 3: 12 || Лекция 4 >

Клиентская архитектура технологии AJAX

Клиентская архитектура включает библиотеки для поддержки компонентов, совместимость с обозревателями, сетевые средства и базовые службы

Компоненты

С помощью клиентских компонентов реализуется обогащенный пользовательский интерфейс в обозревателе без операций обратной передачи. Компоненты делятся на три категории:

  • невизуальные объекты, инкапсулирующие код, как объект, представляющий таймер;
  • поведения, расширяющие базовое поведение существующих элементов DOM ;
  • Элементы управления, представляющие новый элемент DOM, обладающий пользовательским поведением.

Тип используемого компонента зависит от требуемого типа клиентского поведения. Например, водяной знак в существующем текстовом поле можно создать, используя поведение, связанное с текстовым полем.

Базовые службы

Библиотеки клиентских сценариев AJAX в ASP.NET состоят из файлов JavaScript (с расширением JS), содержащих функциональные элементы, используемые для объектно-ориентированной разработки. Объектно-ориентированные возможности, включенные в библиотеки клиентских сценариев AJAX в ASP.NET, обеспечивают высокий уровень совместимости и модульности при написании клиентских сценариев. В состав клиентской архитектуры входят следующие базовые службы:

  • Объектно-ориентированные расширения JavaScript, такие как классы, пространства имен, обработка ошибок, наследование, типы данных и сериализация объектов.
  • Библиотека базовых классов, включающая такие компоненты, как построители строк и расширенная обработка ошибок.
  • Поддержка библиотек JavaScript, внедренных в сборку или предоставляемых в виде отдельных файлов JavaScript (с расширением JS). Внедрение библиотек JavaScript в сборку облегчает развертывание приложений и помогает в решении проблем, связанных с поддержкой разных версий кода.

Cерверная архитектура AJAX

Серверные составляющие, поддерживающие разработку с использованием технологии AJAX, состоят из веб-сервера ASP.NET, а также серверных элементов управления и компонентов, управляющих пользовательским интерфейсом и потоком выполнения приложения. Эти серверные составляющие управляют также сериализацией, проверкой, расширяемостью элементов управления и т. п. Существуют также веб-службы ASP.NET, позволяющие осуществлять доступ к службам приложения ASP.NET, используемых для проверки подлинности на основе форм, поддержки ролей и пользовательских профилей.

Поддержка сценариев

Возможности AJAX в ASP.NET реализуется с использованием служебных сценариев, отправляемых сервером клиенту. В зависимости от того, какие возможности AJAX требуются приложению, обозревателю отправляются разные сценарии.

Можно также создавать пользовательские клиентские сценарии для приложений ASP.NET. В таком случае можно использовать возможности AJAX для управления пользовательскими сценариями как статическими JS-файлами (на диске) или JS-файлами, внедренными в сборку в качестве ресурсов.

Возможности ASP.NET AJAX включают в себя модель для режимов выпуска и отладки. Режим выпуска предоставляет проверку ошибок и обработку исключений, оптимизированную для повышения производительности при минимальном размере сценария. Режим отладки предоставляет более основательные возможности отладки, такие как проверка типов и аргументов. ASP.NET выполняет отладочные версии, когда приложение выполняется в режиме откладки. Это позволяет выбрасывать исключения в сценариях отлаживаемого приложения и свести к минимуму размер кода выпуска.

Благодаря поддержке сценариев AJAX в ASP.NET реализуются две важные функции:

  • Microsoft AJAX (библиотека), которая является системой типов и набором расширений JavaScript, предоставляющих пространства имен, наследование, интерфейсы, перечисления, отражение и дополнительные функции.
  • Частичная отрисовка страниц, при котором обновляются части страницы с использованием асинхронной обратной передачи.

Веб-службы

Функциональность AJAX позволяет вызывать из клиентского сценария веб-страницы ASP.NET веб-службы ASP.NET (файлы с расширением ASMX) и службы Windows Communication Foundation (WCF) (файлы с расширением SVC). Ссылки на необходимые сценарии автоматически добавляются в состав страницы, а эти сценарии, в свою очередь, автоматически создают прокси-классы веб-служб, используемые из клиентских сценариев для вызова этих служб.

Можно также осуществлять доступ к веб-службам ASP.NET с использованием серверных элементов управления ASP.NET AJAX (например, при использовании другой среды веб-разработки). Для этого можно вручную включать в состав страницы ссылки на Microsoft AJAX (библиотека), файлы сценариев и веб-службы. Во время выполнения ASP.NET создает прокси-классы, которые можно использовать для вызова этих служб.

Серверные элементы управления

Серверные элементы управления AJAX ASP.NET состоят из кода сервера и клиента, интеграция которых позволяет реализовать полнофункциональное клиентское поведение. При добавлении элемента управления AJAX в состав веб-страницы ASP.NET страница автоматически отправляет обозревателю клиентские сценарии для поддержки функциональных возможностей AJAX. Можно также написать дополнительный клиентский код для настройки функциональных возможностей элемента управления, но это не обязательно.

Ниже приведен список наиболее часто используемых серверных элементов управления ASP.NET AJAX:

  1. ScriptManager

    Управляет ресурсами сценариев для клиентских компонентов, частичной отрисовки страниц, локализации, глобализации и пользовательских сценариев. Элемент управления ScriptManager необходим для использования элементов управления UpdatePanel, UpdateProgress и Timer.

  2. UpdatePanel

    Позволяет обновлять отдельные части страницы вместо обновления ее целиком, осуществляемого путем использования синхронной обратной передачи.

  3. UpdateProgress

    Предоставляет информацию о состоянии касательно частичного обновления страницы в элементах управления UpdatePanel.

  4. Timer

    Выполняет операции обратной передачи с заданной периодичностью. Элемент управления Timer можно использовать для периодического обновления всей страницы или же ее части; в последнем случае он используется совместно с элементом управления UpdatePanel.

Подводя итог, отметим, что ключевой особенностью технологии AJAX, которую необходимо понимать каждому, является отсутствие необходимости при каждом пользовательском действии, подразумевающем, ответ сервера, отправлять всю страницу целиком серверу. Т.е. отправляется только часть веб - страницы, на которой располагается элемент управления, действия над которым вызывают серверный ответ. Таким образом, работа веб - приложения становится "легче", обходится без лишних, нецелесообразных действий.

Дополнительные источники

  1. http://netcode.ru/dotnet/?artID=6384
  2. http://www.aspnetmania.com/Articles/Article/77.html
  3. http://www.asp.net/default.aspx?tabindex=9&tabid=47
  4. http://www.microsoft.com/rus/msdn/magazine/2006/07/GiblbsASP.Net Ajax.mspx
  5. http ://www.realcoding.net/articles/aspnet-ASP.Net Ajax-%E2%80%93-vnedrenie-tekhnologii-ajax-asynchronous-javascript-xml.html
  6. http://msdn.microsoft.com/ru-ru/library/bb398874.aspx
< Лекция 2 || Лекция 3: 12 || Лекция 4 >