Анонсируем Microsoft AJAX CDN
Сегодня команда ASP.NET запустила новую службу Microsoft Ajax CDN (Content Delivery Network, сеть по доставке контента), предоставляющую поддержку кэширования библиотек AJAX (включая jQuery и ASP.NET AJAX). Эта служба доступна бесплатно, не требует регистрации и может использоваться как в коммерческих, так и некоммерческих целях.
Что предоставляет CDN?
Сети по доставке контента (CDNs) состоят из "пограничных серверов кэширования" (edge-cache servers), стратегически рассредоточенных по всему миру в ключевых областях сети Internet. Эти сервера могут использоваться для кэширования и доставки контента любых типов, включая изображения, видео, а также файлов CSS и JavaScript.
Использование CDN может существенно повысить производительность веб-сайта с точки зрения конечных пользователей, поскольку позволяет браузерам намного быстрее получать и скачивать контент. К примеру, вместо того, чтобы заставлять запрос от браузера проходить весь путь через Internet до вашего веб-сервера, CDN может обработать его напрямую за счет ближайшего "пограничного сервера кэширования", который может находиться в одном хопе (hop) от вашего клиента (за счет чего ответ на запрос будет возвращен намного быстрее, а это, в свою очередь, существенно сократит время загрузки веб-страниц).
Что предоставляет Microsoft AJAX CDN?
С помощью Microsoft AJAX CDN становится по-настоящему легко добавлять в ваши веб-сайты библиотеки скриптов jQuery и ASP.NET AJAX, клиентские запросы на получение которых буду автоматически обрабатываться одним из четырех тысяч пограничных серверов кэширования, географически распределенных по всему миру.
К примеру, чтобы использовать jQuery из Microsoft AJAX CDN, вам нужно просто добавить в код вашей страницы стандартный тег для скрипта с URL, как показано ниже:
<script src="https://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
Когда браузер отправит запрос на файл с кодом скрипта, он будет автоматически обработан тем пограничным сервером кэширования, который расположен ближе всего к клиенту. Это означает, что:
- Запрос будет обработан намного быстрее, чем если бы он обрабатывался бы вашим веб-сервером (за счет чего сократится время загрузки страницы у пользователя)
- Вам не нужно платить за трафик, относящийся к этому файлу, - поскольку этот трафик исходит из нашего сервера, то и соответствующий трафик оплачиваем мы (а вы экономите деньги)
- Скрипт может быть закэширован сразу для нескольких веб-сайтов - это значит, что, возможно, клиенту даже не понадобится вообще его загружать, если он уже посещал другой сайт, также ссылающийся на этот файл (так что файл уже находится в кэше браузера).
Полный перечень библиотек JavaScript (и соответствующих URLs), которые мы уже загрузили в нашу CDN, вы можене найти здесь: www.asp.net/ajax/cdn
Мы будем обновлять доступные через CDN библиотеки по мере выхода новых версий ASP.NET AJAX и продолжим пополнять их список, чтобы включить туда все файлы JavaScript, которые мы поставляем с ASP.NET и Visual Studio (включая jQuery, плагин jQuery Validation и дополнительные библиотеки, которые мы будем поставлять в будущем).
Сервис CDN совершенно бесплатен и доступен каждому как для коммерческого, так и для некоммерческого использования. Вам не нужно проходить какую-либо регистрацию, чтобы воспользоваться его преимуществами.
Использование Microsoft AJAX CDN совместно с ASP.NET 4.0 ScriptManager
Помимо возможности непосредственно ссылаться на файлы скриптов с помощью тега <script>, ASP.NET 4.0 также позволит проще задействовать CDN в приложениях ASP.NET Web Forms, использующих серверный элемент управления <asp:scriptmanager/>.
У элемента упроавления <asp:ScriptManager> в ASP.NET 4.0 появилось новое свойство EnableCdn. Когда этому свойству присваивается true, ваше приложение начинает автоматически использовать Microsoft CDN для запроса файлой JavaScript:
Когда вы разрешаете ScriptManager использовать CDN, ваше приложение начинает получать все файлы скриптов JavaScript оттуда, а не из сборок System.Web.dll или System.Web.Extensions.dll, как это обычно происходит. Это касается как JavaScript-файлов ASP.NET AJAX, так и встроенных JavaScript-файлов Web Forms (например, файла WebUIValidation.js - клиент-серверной проверки для элементов управления, таких как TreeView, Menu и проч.).
Для конечных пользователей это приведет к улучшению производительности, а также к тому, что им не придется повторно загружать одни и те же файлы при посещении вашего веб-сайта на базе ASP.NET, если они прежде уже посещали другие веб-сайты ASP.NET, использующие CDN.
Использование 5-го выпуска для предварительного ознакомления ASP.NET AJAX 4 из CDN
В дополнение к запуску сайта AJAX CDN, благодаря усилиям команды ASP.NET также недавно стал доступен 5-й выпуск для предварительного ознакомления ASP.NET AJAX 4. Вы можете загрузить его вместе с примерами кода с CodePlex: https://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=32770
Теперь вы также можете использовать библиотеки ASP.NET AJAX, просто добавляя приведенные ниже теги script, ссылающиеся на CDN:
<script src="https://ajax.microsoft.com/ajax/beta/0909/MicrosoftAjax.js" type="text/javascript"></script> <script src="https://ajax.microsoft.com/ajax/beta/0909/MicrosoftAjaxTemplates.js" type="text/javascript"></script>
Эти теги ссылаются на бета-версию библиотеки ASP.NET AJAX, выпущенную в сентябре 2009-го (часть URL /0909/ соответствует году и месяцу выпуска версии ASP.NET AJAX).
После добавления тегов script, ссылающихся на библиотеку ASP.NET AJAX, вы можете начать использовать эту библиотеку в вашей странице. К примеру, приведенный ниже код присоединяет клиентский элемент управления DataView, представляющий массив фотографий, к элементу DIV в теле страницы.
Элемент DIV с идентификатором "photos" содержит шаблон для форматирования каждой фотографии из массива. Вот как этот элемент объявлен:
При рендеринге DataView содержимое элемента DIV с идентификатором photos рендерится для каждой фотографии из массива, в результате будут отображены следующие фотографии:
Поскольку библиотека ASP.NET AJAX написана полностью на JavaScript, приведенный выше код прекрасно работает и в ASP.NET Web Forms, и в ASP.NET MVC, и в HTML, и даже в классических ASP-страницах. Код также работает на всех современных браузерах.
Чтобы больше узнать о 5-м выпуске для предварительного ознакомления ASP.NET AJAX 4, загрузите исходный код примеров из раздела проекта на CodePlex: https://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=32770
Ниже приведены ссылки на некоторые публикации в блогах, более подробно освещающие новые возможности этой версии ASP.NET AJAX:
- 5-й выпуск для предварительного ознакомления Microsoft AJAX 4: элемент управления DataView -- Дэйв Рид (Dave Reed) объясняет, как воспользоваться новой возможностью - динамическими шаблонами и «заполнителями» (placeholders), - добавленной в этот выпуск ASP.NET AJAX.
- 5-й выпуск для предварительного ознакомления ASP.NET AJAX и UpdatePanel - Джим Вэнг (Jim Wang) объясняет, как можно использовать новую версию ASP.NET AJAX с уже существующими сайтами, использующими стандартный элемент управления ASP.NET UpdatePanel.
- Создание обозревателя классов с помощью 5-го выпуска для предварительного ознакомления ASP.NET AJAX 4.0 - Бертран ле Рой (Bertrand Le Roy) создает превосходное приложение с обозревателем классов, воспользовавшись преимуществами нескольких новых возможностей ASP.NET AJAX 4.0, включая рекурсивные шаблоны.
- Как DataContext может изменить ваши данные и вашу жизнь (ну, типа того, но не совсем) - Джонатан Картер (Jonathan Carter) публикует серию отличных заметок, в которых детально рассматривает Ajax DataView и DataContext.
Резюме
Microsoft AJAX CDN позволяет вам существенно повысить производительность приложений ASP.NET Web Forms и ASP.NET MVC, использующих ASP.NET AJAX или jQuery. Этот сервис доступен совершенно бесплатно, не требует регистрации и может быть использован как в коммерческих, так и в некоммерческих целях.
С выходом ASP.NET 4.0 воспользоваться преимуществами CDN для разработчиков ASP.NET Web Forms станет совсем просто. Установив лишь одно свойство элемента управления ScriptManager, вы сможете перенаправлять все запросы ко встроенным файлам JavaScript ASP.NET на сервера CDN и, таким образом, повысить производительность ваших веб-приложений на базе Web Forms.
Надеюсь, вы нашли для себя что-то полезное,
Скотт
P.S. Помимо блога, я в последнее время еще использую Twitter, чтобы публиковать краткие заметки и новые ссылки. Следить за моими публикациями на Twitter вы можете здесь: https://www.twitter.com/scottgu (@scottgu - это мой псевдоним на twitter)