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

ASP.Net 4.0

< Лекция 1 || Лекция 2 || Лекция 3 >
Аннотация: Что такое технология ASP.NET, ее возникновение, ключевые особенности и возможности. Новшества ASP.Net версии 4.0.0.

Прежде чем мы перейдем непосредственно к новшествам последней версии ASP.Net технологии, необходимо немного остановиться на основах технологий в целом.

ASP.NET — технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP.

ASP.NET – технология, используемая для написания мощных клиент-серверных интернет приложений. Она позволяет создавать динамические страницы HTML.

Как правило, под динамическими страницами понимают страницы, которые перед отправкой клиенту проходят цикл обработки на стороне сервера.

ASP.NET содержит множество готовых элементов управления, используя которые можно быстро создавать интерактивные web-сайты.

Microsoft .NET Framework - это платформа для создания, развертывания и запуска Web-сервисов и приложений. Она предоставляет высокопроизводительную, основанную на стандартах, многоязыковую среду, которая позволяет интегрировать существующие приложения с приложениями и сервисами следующего поколения, а также решать задачи развертывания и использования Интернет - приложений.

.NET Framework состоит из трех основных частей: общеязыковой среды выполнения (common language runtime), иерархического множества унифицированных библиотек классов и компонентной версии ASP, называемую ASP.NET.

Хотя ASP.NET берёт своё название от старой технологии Microsoft ASP, она значительно от неё отличается. Microsoft полностью перестроила ASP.NET, основываясь на Common Language Runtime (CLR), который является основой всех приложений Microsoft .NET. Разработчики могут писать код для ASP.NET, используя практически любые языки программирования, входящие в комплект .NET Framework (C#, Visual Basic.NET, и JScript .NET). ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кэш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию, и т. д.

Таким образом, можно выделить следующие преимущества ASP.Net по сравнению с ASP:

  • Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки
  • Значительно улучшенная обработка ошибок времени выполнения, с использованием блоков try..catch
  • Расширяемый набор элементов управления и библиотек классов
  • ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д.
  • Возможность кэширования всей страницы или её части для увеличения производительности
  • Возможность кэширования данных, используемых на странице
  • Возможность разделения визуальной части и бизнес-логики по разным файлам ("code behind")
  • Расширяемая модель обработки запросов
  • Расширенная событийная модель
  • Расширяемая модель серверных элементов управления
  • Наличие master-страниц для задания шаблонов оформления страниц
  • Поддержка CRUD-операций при работе с таблицами через GridView
  • Встроенная поддержка AJAX
  • ASP.NET имеет преимущество в скорости по сравнению с другими технологиями, основанными на скриптах.

В ASP.NET реализована модель динамической компиляции веб-сайтов. В этом приложении код не компилируется до вызова пользователем, работающим с сайтом. Если применяется динамическая компиляция, то Visual Studio не создает исполняемую сборку, пригодную для развертывания, а компилирует страницы по запросу пользователя. Компиляция страницы зависит от временной отметки файла исходного кода. Если исходный код изменился, страница перекомпилируется при следующем запросе. Динамическая компиляция имеет такие преимущества:

  • не нужно заново компилировать все приложение после каждого изменения в одной странице или в одном компоненте, что наиболее ценится разработчиками крупных веб - сайтов и порталов;
  • страницы, при компиляции которых возникают ошибки, не мешают работе других страниц веб-сайта. Эта своеобразная "независимость" одних страниц от других позволяет в рамках одного решения одновременно использовать одни страницы, тестировать другие и разрабатывать третьи.
  • Основным инструментом работы с ASP.Net - технологией является, конечно, линейка продуктов Microsoft Visual Studio.

При создании веб-сайта Visual Studio не проверяет, все ли страницы и их зависимости компилируются. Для запуска веб-сайта не создается сборка. Ограничения компиляции в Visual Studio строже, чем в предыдущих версиях Visual Studio .NET: теперь Visual Studio проверяет, можно ли скомпилировать код, и ищет синтаксические ошибки в разметке и файле Web.config.

Как мы уже отмечали, модель компиляции ASP.Net содержит ряд особенностей, обеспечивающих преимущество данной технологии, поэтому рассмотрим ее подробнее.

Компиляция в ASP.NET

Чтобы код приложения обрабатывал запросы пользователей, платформе ASP.NET необходимо вначале скомпилировать код в одну или несколько сборок.

Сборка — это файл с расширением DLL.

Код ASP.NET можно писать на самых различных языках, например Visual Basic, C#, J# и других. При компиляции код переводится в независимое от языка и процессора представление, которое называется языком MSIL. Во время работы MSIL выполняется в контексте платформы .NET Framework, которая переводит MSIL в индивидуальные инструкции для процессора компьютера, на котором запущено приложение.

Преимущества компиляции:

  • Производительность . Скомпилированный код функционирует гораздо быстрее таких языков сценариев, как ECMAScript или VBScript, поскольку его представление ближе к машинному коду и не требует дополнительного анализа.
  • Безопасность. Скомпилированный код гораздо сложнее реконструировать, чем нескомпилированный исходный код, так как он не обладает легкостью чтения и абстрактностью языков высокого уровня. Кроме того, существуют средства запутывания кода, которые делают скомпилированный код еще более устойчивым к реконструированию.
  • Стабильность. Во время компиляции код проверяется на наличие ошибок, строгость типизации и наличие прочих проблем. Обнаружение этих ошибок на этапе построения позволяет исключить множество ошибок в коде.
  • Взаимодействие. Благодаря тому, что код MSIL поддерживает любой язык .NET, можно использовать сборки, которые изначально были написаны в коде на других языках. Например, если веб-страница ASP.NET пишется на языке C#, то можно добавить в нее ссылку на файл DLL, который был написан на языке Visual Basic. ( http://msdn.microsoft.com/ru-ru/library/ms178466.aspx)

Новшества ASP.Net 4.0

Теперь, когда наше представление об ASP.NET, можно назвать сформировавшимся, рассмотрим основные новшества версии 4.0. Данный раздел лекции будет скорее всего интересен лишь опытным ASP.Net - разработчикам.

Приведем ряд новшеств, появившихся в ASP.Net 4.0. Более подробный список нововведений и примеров их использования см. в п.5-6 списка дополнительных материалов.

  1. Шаблоны кода ( сниппеты )
  2. Сниппеты — это шаблоны кода, которые можно вставлять с помощью ключевых слов. В VS2010 представлено более 200 сниппетов для ASP.NET, HTML и JavaScript.
  3. Поддержка CSS 2.1
  4. Динамический IntelliSense для JavaScript
  5. Упаковка и развертывание (Packaging and Deployment)

VS 2010 использует MSDeploy для создания .zip файла для web-приложения (web package).

Этот архив содержит:

  • метаданные
  • информацию о всех настройках IIS (например, application pools, error pages)
  • контент вашего web-приложения (.aspx, .ascx, .js, изображения и т.д.)
  • базу SQL Server
  • другие данные (файлы) — Security Certs, GAC Components, Registry и т.д.

Этот пакет может установлен на сервере с помощью IIS Manager UI Wizard или через командную строку или API для автоматических сценариев развертывания ( automated deployment scenarios ).

Улучшенная поддержка кеширования (Output Caching)

В ASP.NET 4.0 стало возможным задавать провайдер для кеширования, а также создавать свои. Другими словами, можно задать хранилище, где будут храниться кешированные данные.

Хранилищем может выступать:

  • оперативная память
  • локальные или удаленные жесткие диски
  • "облачные" хранилища
  • распределенные движки для кэширования (distributed cache engines)

Создаваемый провайдер должен быть наследником System.Web.Caching.OutputCacheProvider

Автостарт web-приложений

Ряд web-приложений требуют загрузки больших массивов данных или инициализируют большое количество объектов перед первым запросом. Раньше необходимо было заботится об этом самостоятельно (в методе Application_Load в Global.asax ).

Новая возможность под названием "автостарт" ( auto-start, доступно в ASP.NET 4.0 на IIS 7.5 и Windows Server 2008 R2) позволяет управлять запуском пула приложения, инициализацией ASP.NET приложений и работой с HTTP запросами.

В заключении отметим, что в свое время пара "ASP.Net - Visual Studio", фактически совершила заметную революцию в области разработки Интернет - приложений. Процесс разработки стал проще и доступней. Существуют противоречивые мнения на этот счет, в частности одно из них утверждает, что упрощение процесса сказалось на качестве подготовки специалистов и, соответственно, результата не лучшим образом. Однако, нельзя не признавать, что без данной пары было бы значительно сложнее обеспечить рынок требуемым количеством специалистов.

СПИСОК ДОПОЛНИТЕЛЬНЫХ МАТЕРИАЛОв

  1. http://www.slideshare.net/akrakovetsky/aspnet-4
  2. http://msdn.microsoft.com/ru-ru/magazine/cc972638.aspx
  3. http://habrahabr.ru/blogs/net/48570/
  4. http://www.cyberguru.ru/dotnet/asp-net/
  5. http://i-liger.com/tags/ASP.NET%204.0
  6. http://www.developers.org.ua/lenta/development/asp-net-4-whats-new-p1/#p2
< Лекция 1 || Лекция 2 || Лекция 3 >