Иллюстрированный самоучитель по Architecture .NET

Возможности ASP.NET

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

  • Web-формы облегчают создание Web-страниц на основе форм. Среда разработки в режиме полного соответствия WYSIWYG (What You See Is What You Get – что видишь на экране, то и получишь при печати) позволяет просто перетаскивать соответствующие элементы управления на Web-страницу Специальные элементы управления сервера предоставляют программистам модель событий, похожую на модель событий, которая используется при программировании Windows-приложений. В данной главе подробно обсуждаются Web-формы.
  • Web-службы позволяют через программный интерфейс приложения (API) представить на Web-узле функции, которыми могут воспользоваться другие удаленные приложения. Для обмена данными используются стандартные Web-протоколы и форматы, например, протокол передачи гипертекстовых файлов HTTP (Hypertext Transfer Protocol) и язык XML (extensible Markup Language), что позволяет избежать проблем, связанных с прохождением пакетов данных через системы сетевой защиты (брандмауэры). Web-службы обсуждаются в следующей главе

Web-формы и Web-службы могут использовать дополнительные возможности, предоставляемые платформой NET, например, оттранслированные программы и среду выполнения платформы NET. Кроме того, в самой ASP NET предусмотрен ряд служб инфраструктуры, к числу которых принадлежит управление состоянием, защита, конфигурирование, кэширование и трассировка (отладка) программ.

Оттранслированные программы

Web-формы (и Web-службы) могут быть написаны на любом языке, который поддерживается платформой .NET и интерпретируется верхним слоем общеязыковой среды выполнения CLR (Common Language Runtime). К числу таких языков принадлежат С#, VB.NET, и C++ с управляемыми расширениями. Полученная программа затем транслируется За счет этого обеспечивается более высокая производительность по сравнению с ASP-страницами, написанными на интерпретируемом языке сценариев, например, VBScnpt. Оттранслированным программам доступны все дополнительные возможности среды NET, например, управляемая среда выполнения, и, конечно же, библиотека классов .NET Framework. Традиционный неуправляемый код может быть вызван посредством .NET-служб, обеспечивающих возможность взаимодействия управляемого и неуправляемого кода. Эти службы обсуждаются в главе 15 "Смешивание управляемого и неуправляемого кода".

Элементы управления сервера

В ASP.NET введено существенное новшество, известное как элементы управления сервера Элементы управления сервера описываются специальными тэгами, например <asp:textbox>. Серверная программа взаимодействует с элементами управления сервера. Затем среда выполнения ASP.NET генерирует обычную HTML-страницу, которая отсылается Web-браузеру. С помощью такой модели программирования легко получить стандартный HTML-код. Этот код может быть интерпретирован любым браузером.

Независимость кода от браузеров

Всемирная сеть (World Wide WebWWW) построена на стандартах, но используемые браузеры не полностью совместимы. Некоторые из них поддерживают специфические функции и это является неутешительным житейским фактом. Перед дизайнером, создающим Web-страницу, открываются две, не очень-то привлекательные, возможности: писать простейший код, понятный каждому браузеру, или писать индивидуальный код для каждого браузера Использование элементов управления сервера позволяет существенно облегчить решение этой проблемы. ASP.NET учитывает совместимость браузеров на этапе генерации кода элементов управления сервера. Если страница запрошена мощным многофункциональным браузером, тогда генерируется HTML-код, использующий дополнительные функции браузера. В противном случае генерируется простейший HTML-код. Возможности используемого браузера ASP.NET определяет автоматически.

Отделение кода от содержимого

Стандартные ASP-страницы представляют собой смесь кода сценариев и элементов языка HTML. В ASP.NET код сценариев четко отделен от представляемого содержимого. Если код сценария написан на языке, который поддерживает создание вложенных сценариев ASP.NET, например, на С# (но не на C++), тогда этот код можно заключить в блок <SCRIPT RUNAT="SERVER">… </SCRlPT>. Или, что еще лучше, код сценария можно разместить на отдельной, так называемой, странице с "фоновым кодом". Именно таким образом следует поступить, если код сценария написан на C++. Страницы с "фоновым кодом" обсуждаются в следующей, основной части данной главы.

Управление состоянием

Протокол передачи гипертекстовых файлов (HyperText Transfer ProtocolHTTP) не хранит информацию о состоянии страницы. Это означает следующее. Пусть пользователь ввел в элементы управления формы некоторую информацию и отослал заполненную форму на сервер. Если затем форма отобразится снова, то введенная пользователем информация, как правило, будет потеряна. Чтобы сохранить информацию, введенную пользователем, в Web-приложение нужно добавить специальный код, который запоминает состояние формы. В ASP.NET сохранение этих составляющих частей состояния страницы полностью прозрачно. В ASP.NET также имеются удобные средства управления состоянием другого сеанса и состоянием приложения.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.