oldi

Знакомство с Microsoft .NET Framework 2.0

Часть 3. ASP.NET 2.0

Алексей Федоров

Новое в ASP.NET 2.0

   Упрощенные Web-проекты

   Готовые блоки и прикладные интерфейсы

      Шаблоны страниц

      Темы элементов

      Локализация

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

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

      Персонализация

      Кэширование данных

      Администрирование и управление

   Расширенный набор визуальных компонентов

 

Об авторе. Алексей Федоров — сотрудник отдела стратегических технологий российского представительства компании Microsoft. (alexeif@microsoft.com).

Мы продолжаем рассказ об основных новинках в Microsoft .NET Framework версии 2.0 и в этом номере рассмотрим технологию создания приложений ASP.NET.

За десять лет своего существования технологии создания Web-приложений на платформе Microsoft Windows прошли несколько этапов развития — от появления Internet Explorer в 1995 году и Internet Information Services в 1996-м, до Active Server Pages и Visual InterDev в 1997-м и ASP.NET 1.0, Visual Studio.NET и Web Matrix в 2002-2003 годах (рис. 1). В следующем году нас ожидают технология ASP.NET 2.0 и новое средство разработки — Visual Studio 2005.

 

Рис. 1. Технологии создания Web-приложений на платформе Microsoft Windows

Рис. 1. Технологии создания Web-приложений на платформе Microsoft Windows

При этом на каждом новом этапе создание Web-приложений упрощалось. Так, пакет Microsoft Visual InterDev (1997) стал первым визуальным средством создания Web-приложений, включавшим в себя и средства дизайна HTML-страниц, и возможность написания серверного скриптового кода. Появление ASP.NET и Visual Studio.NET (2002) позволило отказаться от использования COM-объектов и добавить к скриптовым языкам VBScript и JavaScript такие языки, как VB.NET и C#. Таким образом, разработка Web-приложений стала технологически совместимой с разработкой Windows-приложений благодаря использованию единой платформы — Microsoft .NET.

Технология ASP.NET 2.0 — это существенное обновление как самой технологии создания Web-приложений, так и средства разработки Visual Studio, в состав которого теперь входит и бесплатная версия Visual Web Developer 2005 Express Edition.

Новое в ASP.NET 2.0

Разработчики попытались учесть в новой версии ASP .NET основные проблемы, возникающие при создании Web-приложений, а также многочисленные пожелания пользователей предыдущих версий Microsoft Visual Studio .NET.

Упрощенные Web-проекты

В Visual Studio 2005 значительно облегчен процесс создания ASP.NET-приложений. В частности, Web-приложения теперь можно создавать без использования проектов и решений (solutions) — для этого достаточно выбрать команду File | New Web Site, и вы получите шаблон Web-приложения, базирующегося на локальной файловой системе (рис. 2). В простейшем случае создаются файл default.aspx и каталог Data. Далее вы выбираете элементы вашего приложения командами Website | Add New Item и Website | Add Existing Item. Элементы могут располагаться как в отдельных файлах, так и в шаблонах.

 

Рис. 2. Упрощенный Web-проект и его элементы

Рис. 2. Упрощенный Web-проект и его элементы

Редактирование приложений происходит в улучшенной среде разработчика, которая поддерживает три способа отображения: Design, Source и Server Code.

Среда разработчика поддерживает множество функций, облегчающих написание кода, — от контекстных меню, содержащих набор наиболее часто выполняемых операций с компонентами, до расширенной поддержки механизмов IntelliSense (рис. 3), которые теперь работают в случаях:

• редактирования серверного кода в режиме отображения HTML;

• редактирования серверного кода в режиме отображения Source;

• редактирования клиентского кода в режиме отображения HTML;

• редактирования серверных компонентов, HTML-элементов, CSS и директив;

• редактировании исходного кода на C# или Visual Basic;

• редактировании файлов ASMX;

• редактировании файлов ASHX.

 

Рис. 3. Поддержка IntelliSense в редакторе

Рис. 3. Поддержка IntelliSense в редакторе

Более того, теперь отпала необходимость использования сервера Internet Information Server на этапе разработки и отладки приложений — в состав Visual Studio входит локальный Web-сервер Visual Web Developer Web Server (рис. 4).

 

Рис. 4. Локальный Web-сервер

Рис. 4. Локальный Web-сервер

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

Готовые блоки и прикладные интерфейсы

В ASP.NET 2.0 реализован большой набор готовых блоков и прикладных интерфейсов, использование которых существенно повышает продуктивность разработчиков: число строк кода, который им приходится писать, значительно сокращается, многие рутинные операции становятся доступны через декларативные объявления или соответствующие механизмы конфигурации. Основные блоки и прикладные интерфейсы, доступные в ASP.NET, показаны на рис. 5.

 

Рис. 5. Готовые блоки и прикладные интерфейсы в ASP.NET 2.0

Рис. 5. Готовые блоки и прикладные интерфейсы в ASP.NET 2.0

Шаблоны страниц

Шаблоны страниц (рис. 6) позволяют задать единую структуру и интерфейсные элементы для всего Web-приложения. К таким элементам, в частности, относятся верхние и нижние заголовки страниц, элементы навигации и т.п. Использование шаблонов существенно облегчает настройку приложения, поскольку отпадает необходимость в повторении общего кода на каждой странице Web-приложения. Шаблоны страниц задаются с помощью директивы @Page и атрибута MasterPageFile. В файле с расширением .master описываются шаблон страницы и области, в которых будет отображаться содержимое дочерних страниц, которые задаются компонентами ContentPlaceHolder. В дочерних страницах используется компонент Content с тем же идентификатором, что и «заглушка» в шаблоне, — таким образом достигается соответствие расположения собственно содержимого дочерних страниц и областей, отведенных под него в файле, который описывает шаблон.

 

Рис. 6. Использование шаблонов

Рис. 6. Использование шаблонов

Темы элементов

Визуальные темы элементов в ASP.NET 2.0 позволяют легко настраивать внешний вид Web-приложения. Вся информация о стилях сохраняется в едином месте — теме, которая затем применяется ко всем страницам и интерфейсным элементам приложения. Как и шаблоны страниц, визуальные темы серьезно облегчают настройку приложения, позволяя осуществлять ее из одного централизованного источника. Тема задается с помощью директивы @Page и атрибута Theme.

Локализация

Сложности с локализацией приложений, присущие ASP.NET 1.x, преодолеваются в новой версии ASP.NET за счет полностью прозрачной поддержки стандартных ресурсных файлов в формате resx. Ресурсы могут использоваться из приложения как декларативно (используя синтаксис <%$ … %> для задания соответствия свойств ресурсам), так и программно.

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

Управление членством реализовано в виде сервиса Membership service, который предоставляет набор программных интерфейсов для создания учетных записей пользователей и манипуляции ими. Два новых класса — Membership и MembershipUser — реализуют всю функциональность, необходимую для управления членством. Класс Membership предоставляет методы для создания новых пользователей, проверки пользователей и т.п. Класс MembershipUser служит для представления отдельных пользователей, для получения и изменения их паролей, для доступа к такой информации, как дата последнего входа в приложение, и т.п. Хранение информации о пользователях реализовано через провайдеров, которые обеспечивают доступ к физическим источникам данных — Microsoft Access, SQL Server, службы каталогов Active Directory и т.п. По умолчанию используются СУБД Microsoft Access и база данных AspNetDB.mdb. Управление сервисом членства осуществляется через раздел <membership> файла Web.config.

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

В ASP.NET 2.0 поддержка управления ролями реализована на базе диспетчера ролей, который предоставляет программный интерфейс, основанный на базе класса Roles. Этот класс реализует методы типа CreateRole, DeleteRole, AddUserToRole и позволяет программным образом настраивать роли и назначать их пользователям. Для декларативного управления ролями используются файл конфигурации Web.config и утилита администрирования WebAdmin.axd (рис. 7, 8).

 

Рис. 8. Настройка механизмов безопасности с помощью утилиты администрирования WebAdmin.axd

Рис. 8. Настройка механизмов безопасности с помощью утилиты администрирования WebAdmin.axd

Персонализация

Механизм персонализации, реализованный на базе соответствующего сервиса, позволяет сохранять персональные параметры пользователей приложения. Персонализация базируется на профилях пользователей, которые задаются в разделе <profile> файла Web.config. В режиме выполнения доступ к свойствам, определенным в этом разделе, обеспечивается через свойство Profile страницы. Хранение персонализационной информации осуществляется через провайдеров, которые обеспечивают доступ к физическим источникам данных — Microsoft Access, SQL Server и т.п. По умолчанию используются СУБД Microsoft Access и база данных AspNetDB.mdb.

Кэширование данных

В ASP.NET 2.0 осуществлено автоматическое обновление кэша сервера баз данных. Это позволяет автоматизировать процесс получения обновленных данных, отображаемых в Web-приложении. Класс SQLCacheDependency обеспечивает синхронизацию зависимостей кэша от SQL-данных.

Администрирование и управление

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

  • Configuration API — новый набор интерфейсов для конфигурации позволяет пользователям программно создавать, читать, редактировать или обновлять конфигурационные файлы Web.config и machine.config.
  • Средство администрирования ASP.NET на базе MMC (рис. 9) — новое средство администрирования, подключаемое к IIS Administration MMC, позволяет администраторам графически отображать или изменять настройки в конфигурационных XML-файлах.
  • Средство предкомпиляции — новая утилита развертывания Web-приложений позволяет разработчикам и администраторам выполнять предкомпиляцию ASP.NET-приложения перед его развертыванием. Это позволяет, в частности, распространять приложения без предоставления исходного кода.
  • Средства мониторинга и трассировки — эти средства позволяют администраторам получать автоматические уведомления о том, что приложения начинают испытывать какие-то проблемы. Новые средства трассировки предоставляют все данные, необходимые для выполнения диагностики и обеспечения поддержки Web-приложений.

 

Рис. 9. Средство конфигурирования ASP.NET на базе MMC

Рис. 9. Средство конфигурирования ASP.NET на базе MMC

Рис. 10. Компоненты доступа к данным и отображения данных

Рис. 10. Компоненты доступа к данным и отображения данных

Расширенный набор визуальных компонентов

Набор компонентов, предоставляемых ASP.NET 2.0 в распоряжение разработчиков, существенно расширился по сравнению с предыдущими версиями. Более 50 новых компонентов обеспечивают такую функциональность, как декларативный доступ к данным, генерация мастеров (компонент Wizard), создание горизонтальных, вертикальных и вложенных меню (компонент Menu) и элементов для отображения информации в древовидной структуре (компонент TreeView), создание порталов (набор компонентов Web Parts), доступ к защищенной информации (компонент Login) и т.п. Многие из этих компонентов базируются на готовых блоках и прикладных интерфейсах, включая доступ к данным, членство, роли и персонализация. Большинство визуальных компонентов относятся к следующим функциональным группам:

Управление данными — в ASP.NET 2.0 поддерживается декларативный (без написания кода) доступ к данным на основе новых компонентов связи с данными и доступа к данным. Новые компоненты доступа к данным поддерживают такие источники данных, как SQL Server, бизнес-объекты или Web-сервисы.

 

В текущей версии ASP.NET 2.0 доступны следующие источники данных:

Помимо этого планируется включение в ASP.NET 2.0 следующих источников данных

- WebServiceDataSource,

- IndexServerDataSource,

- SharePointDataSource,

- SqlXmlDataSource,

- ExcelDataSource,

- FileSystemDataSource.

Новый компонент GridView поддерживает отображение и редактирование данных, разбиение на страницы и сортировку без необходимости программирования. Для отображения данных только из одной записи служит компонент DetailsView. Совместное использование компонентов GridView и DetailsView позволяет, в частности, создавать интерфейсы в парадигме «Master/Detail». В ASP.NET 2.0 включены следующие компоненты, способные отображать данные:

- AdRotator,

- BulletedList,

- DropDownList,

- ListBox,

- CheckBoxList,

- RadioButtonList,

- Repeater,

- DataList,

- DataGrid (включен для обеспечения совместимости с ASP.NET 1.x),

- GridView,

- DetailsView,

- TreeView.

Навигация — с целью реализации пользовательского интерфейса для навигации между страницами можно использовать такие компоненты, как меню, компонент для отображения древовидной структуры и специальные навигационные пути. Эти компоненты обладают возможностью извлечения информации о навигации из специального навигационного сервиса, реализованного в ASP.NET 2.0. Навигационные пути загружаются в компонент SiteMapPath, а карта сайта отображается в компоненте TreeView. Компонент SiteMapPath может использовать следующие визуальные шаблоны:

- NodeTemplate,

- CurrentNodeTemplate,

- RootNodeTemplate,

- PathSeparatorTemplate.

Доступ к защищенной информации — для ввода аутентификационной информации (логин и пароль) в ASP.NET 2.0 используется компонент Login. Различные опции восстановления пароля доступны через использование компонента PasswordRecovery. Информация о пользователе отображается компонентом LoginName, компонент LoginStatus поддерживает отображение кнопок Login и Logout, а компонент LoginView служит для обеспечения доступа к содержимому страницы только аутентифицированных пользователей.

 

Доступны следующие компоненты:

Портальные компоненты — набор компонентов Web Parts служит для создания порталов. Эти компоненты поддерживают многочисленные настройки, включая редактирование содержимого, местоположение компонентов на странице и т.п.

К портальным компонентам относятся:

 

Дополнительные компоненты — помимо вышерассмотренных в ASP.NET 2.0 входят следующие компоненты:

В этой статье мы рассмотрели основные новшества технологии ASP.NET 2.0, которая является частью Microsoft .NET Framework версии 2.0, а также некоторые вопросы, связанные с поддержкой этой технологии в новом средстве разработки — Microsoft Visual Studio 2005.

 

В следующем номере мы продолжим разговор о Microsoft .NET Framework версии 2.0 и рассмотрим новинки в технологиях доступа к данным — ADO.NET.

КомпьютерПресс 1'2005