Чтение онлайн

ЖАНРЫ

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Троелсен Эндрю

Шрифт:

Наконец, еще одной проблемой является то, что классическая технология ASP требует использования большого количества шаблонов и весьма избыточного программного кода сценариев, который может повторяться от проекта к проекту. Почти всем Web-приложениям необходимо осуществлять контроль пользовательского ввода, обновлять состояние HTML-элементов перед отправкой HTTP-ответа, генерировать HTML-таблицы данных и т.д.

Главные преимущества ASP.NET 1.х

Уже первая главная реализация ASP.NET (версии 1.x) предложила фантастические возможности преодоления ограничений, присущих классической технологии ASP. По сути, платформа .NET дала начало использованию следующих подходов.

• ASP.NET 1.x

предлагает модель, основанную на использовании внешнего кода поддержки и позволяющую отделить логику представления от логики реализации.

• Страницы ASP.NET 1.x представляют собой скомпилированные компоновочные блоки .NET, а не интерпретируемые строки языка сценариев, которые обрабатываются значительно медленнее.

• Web-элементы управления позволяют программисту строить Web-приложения с графическим интерфейсом приблизительно так же, как и приложения Windows Forms.

• Web-элементы ASP.NET автоматически обновляют своё состояние при вторичных запросах, для чего используется скрытое поле формы, имеющее имя __VIEWSTATE.

• Web-приложения ASP.NET являются полностью объектно-ориентированными и используют CTS (Common Type System – общая система типов).

• Web-приложения ASP.NET легко конфигурировать с помощью стандартных средств IIS или с помощью файла конфигурации Web-приложения (Web.config).

Технология ASP-NET 1.x была большим шагом в правильном направлении, но ASP.NET 2.0 обеспечивает дополнительные преимущества.

Главные преимущества ASP.NET 2.0

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

• В ASP.NET 2.0 для разрабатываемого и тестируемого Web-узла уже не требуется хостинг в IIS. Теперь вы можете разместить свой узел в любом каталоге на жестком диске.

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

• В ASP.NET 2.0 поддерживаются шаблоны страниц, которые позволяют создать общий шаблон интерфейса для множества связанных страниц.

• В ASP.NET 2.0 поддерживаются темы, которые предлагают декларативный метод изменения внешнего вида всего Web-приложения.

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

• В ASP.NET 2.0 поддерживается Web-утилита конфигурации и управления, которая осуществляет управление файлами Web.config.

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

Пространства имен ASP.NET 2.0

В библиотеках базовых классов .NET 2.0 предлагается не менее 34 пространств имен, имеющих отношение к Web. Всю эту совокупность пространств имен можно разбить на четыре главные группы.

• Базовые функциональные возможности (типы, обеспечивающие взаимодействие с HTTP-запросами и HTTP-ответами, инфраструктура Web-форм, поддержка тем и профилирования, Web-части и т.д.)

• Web-формы и HTML-элементы

• Web-разработка для мобильных платформ

• Web-сервисы XML

В этой книге тема разработки .NET-приложений (ни Web-приложений, ни каких-то других) для мобильных систем не рассматривается, но роль Web-сервисов XML будет обсуждаться в главе 25. В табл. 23.1 предлагаются описания некоторых базовых пространств имен ASP.NET 2.0.

Таблица 23.1.

Пространства имен ASP.NET для Web

Пространства имен Описание
System.Web Определяет типы, обеспечивающие коммуникацию браузера и Web-сервера (в частности, возможности запроса и ответа, обработки файлов cookie и передачи файлов)
System.Web.Caching Определяет типы, обеспечивающие возможность кэширования для Web-приложения
System.Web.Hosting Определяет типы, позволяющие строить пользовательские хосты для среды выполнения ASP.NET
System.Web.Management Определяет типы, обеспечивающие управление и контроль правильности функционирования Web-приложения ASP.NET
System.Web.Profile Определяет типы, используемые для работы с пользовательскими профилями ASP.NET
System.Web.Security Определяет типы, позволяющие программно обеспечить безопасность узла
System.Web.SessionState Определяет типы, обеспечивающие поддержку информации состояния для каждого пользователя (например, на основе использования сеансовых переменных состояния)
System.Web.UI Sуstem.Web.UI.WebControls System.Web.UI.HtmlControls Определяют ряд типов, позволяющих создавать для Web-приложений программы клиента с графическим пользовательским интерфейсом

Модель программного кода Web-страницы ASP.NET

Web-страницы ASP.NET могут строиться с использованием одного из двух подходов. Вы можете создать один файл *.aspx, который будет содержать комбинацию программного кода сервера и HTML (по примеру классической технологии ASP). Для создания такого файла используется модель одномодульной страницы, когда программный код сервера размещается в контексте ‹script›, но сам этот программный код непосредственно не является программным кодом сценария (например, на языке VBScript или JavaScript). Вместо этого операторы программного кода в рамках блока ‹script› записываются на любом из управляемых языков (C#, Visual Basic .NET и т.д.).

Если создаваемая страница содержит очень мало программного кода (и очень много HTML-кода), модель одномодульной страницы окажется лучшим вариантом выбора, так как перед вами а одном унифицированном файле *. aspx будут и программный код, и разметка. Размещение программного и HTML-кода в одном файле *.aspx обеспечивает и другие преимущества.

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

• Ввиду отсутствия зависимости между файлами, одномодульную страницу проще переименовать.

• Поддержка и обслуживание файлов исходного кода оказываются более простыми, поскольку все действие происходит в одном файле.

Подход, принятый в Visual Studio 2005 по умолчанию (при создании нового проекта Web-узла), использует так называемую технологию внешнего кода поддержки (code-behind), предполагающую отделение программного кода от HTML-логики представления и размещение их в двух разных файлах. Эта модель исключительно хорошо работает в тех случаях, когда ваши страницы содержат большие объемы программного кода или в процессе разработки Web-узла принимают участие много разработчиков. Модель, основанная на использовании внешнего кода поддержки, имеет несколько преимуществ.

Поделиться с друзьями: