Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Веб-разработка? Это просто! AJAX при помощи DataContractJsonSerializer и ashx-handler


AJAX при помощи DataContractJsonSerializer и ashx-handler

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

  1. Тип клиентской JS-библиотеки
  2. Тип серверного ответчика
  3. Способ сериализации данных
  4. Тип передаваемых данных
Как видим, здесь есть где развернуться.

Расскажу подробнее о каждом из пунктов.

  1. Тип клиентской JS-библиотеки.

    Это тот скрипт, который работает в браузере пользователя. Какую бы библиотеку Вы не использовали, в недрах ее для асинхронного обмена данными в любом случае будет использоваться объект XmlHTTPRequest. Я лично пользовался такими библиотеками как: ExtJS, jQuery, prototype.js, ATLAS. Сложно сравнивать эти библиотеки, все они хороши, каждая по своему.

  2. Тип серверного ответчика.

    Прежде всего серверный ответчик характеризует язык серверной реализации, это может быть PHP, ASP.NET, Java, Ruby, Python и много других страшных слов. :) В каждом языке есть свои типы серверных ответчиков. Говоря про ASP.NET, я могу выделить WebServices (*.asmx), Generic Handlers (*.ashx).

  3. Способ сериализации данных.

    Их можно сериализовать "вручную", то есть простой конкатенацией строк, можно использовать встроенные в серверную платформу объекты, например DataContractJsonSerializer, который имеется в ASP.NET.

  4. Тип передаваемых данных.

    Данные можно передавать в собственном формате, можно в виде JSON-строки, XML-строки, или же передавая строку с готовой HTML-разметкой. Вариантов масса, выбор зависит от контекста задачи.

В данной статье я собираюсь рассмотреть вариант релизации AJAX-обмена на основе компонентов:

  1. Клиентская библиотека - jQuery,
  2. Серверный ответчик - Generic Handler (*.ashx),
  3. Способ сериализации - DataContractJsonSerializer,
  4. Тип данных - HTML-разметка, упакованная в JSON-строку.

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

Продолжение статьи "AJAX при помощи DataContractJsonSerializer и ashx-handler" и другие полезные статьи, посвященный веб-разработке Вы можете прочитать на сайте "Веб-разработка? Это просто!"


В избранное