ГГУ им. Ф. Скорины

http://www.gsu.by

Разработка Web-приложений ASP .NET с использованием
Visual Studio .NET

2. Лекция: Основы работы в Visial Studio
.NET 2005: версия для печати и PDA
Рассматриваются возможности интегрированной среды
разработки Visual Studio 2005 для создания приложений ASP.NET и
настройки ее интерфейса для нужд конкретного пользователя.
Рассматривается процесс создания нового Web-приложения, способы
навигации по его структуре, просмотра и редактирования
информационной части в режиме работы с исходным кодом и дизайна,
использование различных элементов управления на страницах, а также
процедур — обработчиков событий этих элементов

Цель лекции: знакомство с принципами использования
и возможностями среды Visual Studio 2005 для разработки
Web-приложений на основе ASP.NET.

Почти все крупномасштабные Web-сайты ASP.NET
разрабатываются с использованием Visual
Studio - предлагаемой компанией Microsoft полнофункциональной
среды разработки Web-приложений, гибкого и универсального
инструмента проектирования и создания законченных приложений для
платформы windows. Работа над ней шла многие годы, и в нее включены
многие функции, специфические для .NET Framework. Как и любая другая
профессиональная среда разработки, Visual
Studio включает в себя средства управления проектами,
редактор исходного текста, конструкторы пользовательского
интерфейса, мастера, компиляторы, компоновщики, инструменты,
утилиты, документацию и отладчики. Она позволяет создавать
приложения для 32- и 64-разрядных Windows-платформ, а также новой
платформы .NET Framework. Одно из важнейших усовершенствований —
возможность работы с разными языками и приложениями различных типов
в единой среде разработки.

К другим основным преимуществам Visual Studio можно
отнести следующие.

Встроенный редактор WISWYG
(What You See Is What You Get) ("Что видишь, то и получаешь"). С
его помощью Visual Studio позволяет настраивать статическое
HTML-содержимое, в том числе шрифты и стили.

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

Интуитивный стиль
программирования — форматирование кода, выполняемое Visual
Studio во время его набора в виде автоматической расстановки
отступов и использования цветового кодирования; значительно
улучшает удобочитаемость кода и снижает вероятность допущения
ошибок в коде.

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

Многоязыковая разработка —
Visual Studio позволяет кодировать на любых языках с
использованием одного и того же интерфейса (IDE). Более того, эта
среда разработки предоставляет возможность помещения Web-страниц,
реализованных на C#, в тот же проект, в котором уже имеются
Web-страницы, написанные на Visual Basic. Единственное
ограничение: на одной странице можно применять только один язык.

Увеличение скорости
разработки, для чего Visual Studio обладает множеством
возможностей. Удобства вроде мощной функции поиска и замены, а
также средства автоматического добавления и удаления комментариев,
которые могут временно скрыть блок кода, позволяют работать быстро
и эффективно.

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

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

Начало работы с Visual Studio 2005

При загрузке Visual Studio 2005 отображается окно,
состоящее из нескольких областей (рис.
2.1). Область окна Recent Projects содержит ссылки на 6
последних проектов, открытых в Visual Studio. Размещенная под ней
область Getting Started содержит ссылки на наиболее часто
возникающие у пользователя задачи. Щелчок по такой ссылке приведет к
немедленному выполнению данной задачи. Например, щелчок по ссылке
"Create Web Site" приведет к немедленному созданию нового Web-сайта
на основе ASP.NET. В центре окна Visual Studio 2005 располагается
область, где отображаются (при условии подключения к Интернету)
последние опубликованные в MSDN статьи, посвященные тем технологиям,
которые применяются для разработки на данном компьютере. В данном
случае изображен раздел MSDN: ASP.NET, т. к. именно ASP.NET
применяется чаще всего на данном компьютере для создания приложений.
Вся область окна, задействованная для отображения перечисленных выше
разделов, в дальнейшем используется для отображения содержимого
редактируемого документа (файла) и называется окном документов.

увеличить изображение
Рис. 2.1.
Главное окно интегрированной среды разработки приложений Visual
Studio 2005

Правая часть окна Visual Studio 2005 занята так
называемыми инструментальными окнами. В
них отображаются компоненты приложений: элементы управления,
соединения с базами данных, классы и свойства, используемые в
проектах. Инструментальные окна можно
настроить по своему усмотрению для максимального удобства
использования в процессе работы. Их можно перетаскивать, располагая
в любом месте экрана (рис.
2.2).

увеличить изображение
Рис. 2.2.
Произвольное расположение инструментальных окон в интегрированной
среде разработки Visual Studio 2005

Инструментальные окна можно
также настраивать таким образом, чтобы они постоянно находились на
экране. Для этого необходимо включить кнопку Auto Hide,
расположенную в правом верхнем углу окна (рис.
2.2). С помощью данной кнопки можно добиться того, чтобы окно
либо постоянно находилось на экране, либо скрывалась за боковой
границей основного окна в случае, если курсор мыши вышел за его
пределы.

Важным компонентом интерфейса является также способ
отображения окон документов внутри интегрированной среды разработки.
Существует два способа отображения окон: стандартный многооконный
интерфейс, используемый многими программами, когда внутри основного
окна создается новое окно, которое представляет собой отдельное окно
с заголовком, оно не может быть вынесено за пределы главного окна; и
интерфейс на основе закладок, когда окно документа всегда занимает
все рабочее пространство внутри главного окна, а переключение между
окнами возможно путем щелчка по соответствующей вкладке (рис.
2.3).

увеличить изображение
Рис. 2.3.
Расположение окон интегрированной среды разработки с помощью вкладок

Для переключения режимов отображения окон, а также
установки дополнительных настроек, связанных с отображением окон, в
Visual Studio 2005 необходимо выполнить команду Tools Options и в открывшемся окне Options на вкладке General установить опцию Tabbed documents.

Рис. 2.4.  Окно настроек
свойств интегрированной среды разработки

Создание нового приложения

Для создания нового приложения ASP.NET следует выполнить
команду File New Web Site.

Следует обратить внимание на то, что команда New Project не используется, поскольку
Web-приложения не являются проектами.

В открывшемся окне New Web Site (рис.
2.5) можно указать следующие сведения:

шаблон (Templates) — определяет файлы, с которых будет
начинаться Web-сайт. Поддерживаются два типа базовых приложений
ASP.NET - приложения Web-сайтов и приложения Web-служб. Шаблоны
этих приложений были скомпонованы и откомпилированы аналогично.
Фактически возможно добавление Web-страницы к приложению
Web-службы, а также Web-службы к обычному Web-приложению. Различие
заключается в файлах, создаваемых Visual Studio по умолчанию. В
Web-приложении работа начинается с образца Web-страницы, в
приложении Web-службы — с образца Web-службы. Кроме того, имеются
более сложные шаблоны для определенных типов сайтов. Можно также
создавать собственные шаблоны или загружать готовые шаблоны
сторонних поставщиков;

месторасположение (Location) — определяет место
хранения файлов Web-сайта. Обычно это File System — Файловая
Система (указывается папка на локальном компьютере либо сетевой
путь). Но возможно также редактирование сайта непосредственно по
HTTP- или FTP-протоколу;

язык (Language) — определяет язык программирования
.NET, используемый по умолчанию для кодирования Web-сайта.

Рис. 2.5.  Окно создания
нового Web-приложения

Альтернативой ручному вводу месторасположения является
нажатие кнопки "Обзор" (Browse), отображающей диалоговое окно "Выбор
месторасположения" (Choose Location, рис.
2.6).

Рис. 2.6.  Установка
месторасположения создаваемого Web-приложения

Вдоль левой стороны диалогового окна расположены четыре
кнопки, позволяющие получить доступ к различным типам
месторасположений:

File System — Файловая система — позволяет просматривать
дерево дисков и каталогов или совместно используемых ресурсов,
предоставляемых другими компьютерами сети;

Local IIS — Локальный IIS — позволяет просматривать
виртуальные каталоги, доступные с помощью программного обеспечения
Web-хостинга IIS, которое функционирует на текущем компьютере;

FTP Site (FTP-сайт) — менее удобно, так как перед подключением
следует указать информацию о соединении, включая FTP-сайт, порт,
каталог, имя пользователя и пароль;

Remote Site — Удаленный Web-сайт — предоставляет доступ к
Web-сайту по определенному URL с использованием HTTP.

После возврата в диалоговое окно создания Web-сайта и
указания всех необходимых опций, Visual Studio создаст новое
Web-приложение. Новый Web-сайт начинается с одного файла — начальной
страницы по умолчанию default.aspx,
пример содержимого которого приведен на рис.
2.7.

увеличить изображение
Рис. 2.7.
Созданное новое Web-приложение

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

Наличие расширения .aspx у
файла говорит о том, что он содержит некие директивы ASP.NET и
должен быть исполнен платформой .NET Framework. При этом, очень
важными элементами этого файла являются директивы среды исполнения,
а также встроенные в страницу серверные элементы управления. Эти
элементы должны обязательно располагаться внутри HTML-элемента form, исполняющегося на стороне сервера, и
помечаются тегом <asp: параметры элемента
/>. Например, описание серверного элемента Button,
вставленного в страницу, будет выглядеть следующим образом:

<asp:Button ID="Button1" runat="server" Text="Button" />.

Как видно из этого примера, после ключевого слова asp следует тип элемента, который
соответствует его классу, описанному в .NET Framework, затем ID
элемента, указание на его обработку на стороне сервера и другие
параметры, такие как подпись кнопки (в данном случае).

Особое значение при разработке приложений играет окно
панели компонентов Toolbox.

В Visual Studio окно Toolbox отображает элементы
управления и компоненты, которые можно перетаскивать в окно
документа. Содержимое Toolbox зависит от типа редактируемого
документа. Например, при редактировании Web-формы Toolbox содержит серверные элементы
управления, HTML-элементы управления, элементы управления, связанные
с данными, и другие компоненты, которые можно размещать на
поверхности Web-форм (рис.
2.7).

Файл Default.aspx.cs
содержит программный код, привязанный к странице. Организация этого
файла практически полностью повторяет организацию аналогичного файла
для проекта Windows-приложения. Пример содержимого только что
созданного файла такого типа приведен на рис.
2.8.

увеличить изображение
Рис. 2.8.
Элементы управления окна Toolbox в режиме редактирования исходного
кода

Как видно из рисунка, файл начинается с подключения
различных пространств имен, содержащих описания тех классов .NET
Framework, которые необходимо использовать в данном модуле. Затем
следует описание класса страницы, состоящего из различных функций, в
том числе привязанных к обработке событий данной формы. По умолчанию
создана заготовка функции — обработчика события
открытия страницы Page_Load.

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

Компоненты в окне Toolbox (рис.
2.9) упорядочены по категориям. Щелкнув на категории, можно
отобразить элементы из этой категории. Содержимое окна Toolbox можно прокручивать, щелкая по
стрелкам, расположенным сверху и снизу списка компонентов. Когда
текущим документом является код, в окне Toolbox не отображаются компоненты, так как их
невозможно размещать в рабочей области.

увеличить изображение
Рис. 2.9.
Пример размещения кнопки на странице с помощью перетаскивания в
режиме редактирования исходного кода страницы

Редактирование Web-документов

Web-формы и HTML-документы
можно редактировать в графическом режиме с использованием "Drag
& Drop", как обычные Windows-формы, либо в текстовом виде. Для
переключения между режимами достаточно щелкнуть на ярлычки Design и Source,
расположенные внизу окна документа (рис.
2.7).

Естественно, не все задачи можно решить в графическом
режиме. Поэтому приходится редактировать Web-документы в режиме
исходного кода. Если хорошо знать HTML, то этот способ может
оказаться даже удобнее использования графических инструментов.
Поддерживаемая Visual Studio технология IntelliSense помогает завершать элементы HTML,
создаваемые в режиме исходного кода.

Для демонстрации режимов работы со страницей рассмотрим
пример создания простейшей страницы Web-приложения, состоящего из
кнопки, при нажатии на которую в окне Web-браузера выводится текст
"Это простейшее приложение ASP.NET".

Для реализации данного примера воспользуемся созданным
ранее пустым приложением. Поместим в файл Default.aspx кнопку. Сделать это можно двумя
различными способами.

1. Перетащить кнопку из окна Toolbox в окно, содержащее
код страницы.

Для выполнения этой операции необходимо отобразить в
окне редактора файла .aspx исходный код
файла, а затем перетащить из панели Toolbox в нужное место страницы
кнопку. В результате на странице будет размещен код кнопки, как
показано на рис.
2.9.

2. Перетащить кнопку из окна Toolbox в окно, содержащее
изображение дизайна страницы.

Для выполнения этой операции необходимо отобразить в
окне редактора файла .aspx дизайн
страницы, а затем перетащить из панели Toolbox кнопку в любое место
области окна страницы. Результат операции представлен на рис.
2.10.

Рис. 2.10.  Пример
размещения кнопки на странице с помощью перетаскивания в режиме
редактирования дизайна страницы

Переключение между режимами Design и Source
возможно в любой момент в процессе редактирования содержимого
страницы.

Важным моментом при размещении элементов внутри
Web-страницы является то, что форматирование самой страницы
подчиняется принципам форматирования HTML-страниц. Это логично, т.
к. костяк файла .aspx составляет именно
HTML-код страницы. В частности, из-за этого невозможно размещать
элементы управления в произвольном месте Web-страницы, так, как к
этому привыкли разработчики Windows-приложений. Для форматирования
страниц Web-приложений очень часто используются таблицы, позволяющие
размещать элементы внутри ячеек, позиционируя таким образом элементы
управления в нужном месте страницы. Подробнее о рекомендуемых
принципах разработки пользовательского интерфейса Web-приложений
рассказывается в лекции
4.

Следующим этапом нашего примера является создание обработчика события нажатия кнопки и вывода в
окне браузера необходимого текста.

Для создания обработчика
события "нажатие на кнопку" необходимо переключиться в режим
дизайна, выделить кнопку, открыть окно свойств выделенного объекта
(окно Properties) — это можно сделать с помощью щелчка правой
кнопкой мыши на кнопке и выбора пункта Properties из открывшегося
контекстного меню, — переключиться в режим показа событий выбранного
элемента управления (для этого необходимо нажать кнопку
в окне свойств кнопки) и произвести двойной щелчок левой кнопкой
мыши по событию, обработчик которого необходимо создать, в нашем
примере это Click (рис.
2.11).

Рис. 2.11.  Окно свойств
элемента управления Button

В результате создается процедура Button1_Click, связанная с событием Click элемента управления Button. Эта процедура помещается в файл Default.aspx.cs. Введем в тело процедуры
программный код, позволяющий вывести на экран текст. Для вывода в
окно браузера информации можно использовать класс Response, который применяется для формирования
отклика сервера, пересылаемого браузеру клиента. Более подробно
объект Response рассматривается в лекции
4.

Введем следующий код в обработчик события нажатия
кнопки:

Response.Write("Это простейшее приложение ASP.NET");

Окно редактора кода при этом будет выглядеть следующим
образом (рис.
2.12):

Рис. 2.12.  Окно
редактора кода приложения после создания обработчика события нажатия
на кнопку Button1

Произведем запуск приложения. Для этого нажмем F5 либо
произведем щелчок по кнопке
панели инструментов Visual Studio 2005. Если Web-приложение
запускается впервые и для его запуска используется режим отладки
(клавиша F5 либо вызов команды Debug р Start Debugging (F5), то
отобразится диалог, изображенный на рис.
2.13.

Рис. 2.13.  Диалоговое
окно выбора режима запуска приложения при первом запуске

Если выбрать режим Add a new Web.config file with
debugging enabled, в файл web.config будет добавлена строка,
включающая режим отладки запускаемого приложения. В дальнейшем, при
повторном запуске данного приложения в режиме отладки это диалоговое
окно отображаться не будет, а приложение будет сразу запускаться в
режиме отладки. Если же выбрать режим Run without debugging, то
приложение будет запущено в обычном режиме.

После запуска проекта Visual Studio .NET компонует его
файлы, показывая в окне Task List сообщения об ошибках.

Дважды щелкнув по описанию ошибки в окне Task List,
можно быстро найти строку с ошибкой, чтобы исправить ее.

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

если причина ошибки известна, стоит остановить приложение,
закрыв окно браузера, и вернуться в Visual Studio .NET, чтобы
исправить ошибку;

если причина ошибки неизвестна, следует щелкнуть кнопку Back
(Назад) в браузере и переключиться в Visual Studio .NET, чтобы
установить в коде точку прерывания перед предполагаемым местом
возникновения ошибки. Затем, переключившись обратно в браузер,
попробовать еще раз выполнить действие, вызывавшее ошибку.
Встретив точку прерывания, Visual Studio .NET остановит исполнение
приложения. Далее путем пошагового исполнения возможно
локализовать ошибку.

После обнаружения причины ошибки до ее устранения
необходимо остановить приложение.

После запуска приложения будет запущен локальный
Web-сервер, встроенный в Visual Studio. Уведомление об этом появится
в панели индикации (рис.
2.14), после чего будет открыта страница Web-приложения в
браузере, установленном в системе по умолчанию.

Рис. 2.14.  Уведомление о
запуске локального Web-сервера

Страница созданного Web-приложения, отображаемого в
окне браузера, будет выглядеть следующим образом (рис.
2.15).

Рис. 2.15.  Страница
Web-приложения, отображаемая в браузере Internet Explorer

Как видно из рисунка, страница состоит из одной кнопки.
Произведем щелчок левой кнопкой мыши по ней. В результате на экране
будет отображена строка "Это простейшее приложение ASP.NET" (рис.
2.16).

Рис. 2.16.  Результат
отображения страницы после нажатия на кнопку Button

Установка точек прерывания и просмотр значений переменных

Можно остановить исполнение проекта перед некоторой
строкой кода, установив в этой строке точку прерывания. Для этого
следует щелкнуть на сером поле слева от строки, перед которой нужно
остановить исполнение программы, либо, выделив эту строку, нажать
F9. При этом строка выделяется, а слева от нее появляется точка,
свидетельствующая о наличии точки прерывания программы (рис.
2.17).

Рис. 2.17.  Установленная
точка прерывания

Встретив при исполнении проекта строку с точкой
прерывания, Visual Studio остановит приложение перед выполнением
этой строки, выделит ее и откроет в окне редактора кода.

После остановки выполнения приложения перед точкой
прерывания стоит просмотреть значения активных переменных, наводя на
них указатель мыши. Для просмотра значений переменных сложного типа,
таких, как переменные-объекты или массивы, следует добавить эти
переменные в окно Watch путем выбора и перетаскивания. Просмотреть
значения вложенных элементов (например, элементов массива или
свойств объекта) можно, щелкнув по знаку "+" справа от сложного
элемента в окне Watch.

Пошаговое исполнение

Для возобновления исполнения приложения, остановленного
перед точкой прерывания, следует щелкнуть по кнопке Continue на
панели инструментов либо нажать F5. Можно также исполнять приложение
построчно, нажимая F10 (команда Debug Step Over) или F11 (команда Debug р Step Into).

Разница между этими командами заключается в следующем.
F10 заставляет при вызове процедуры исполнить ее как одну команду.
Другими словами, процедура исполняется без захода в нее (step over),
после чего исполнение останавливается на следующей после вызова этой
процедуры строке. Нажатие клавиши F11 вызывает исполнение процедуры
с заходом в нее (step into), при этом исполнение останавливается на
первой строке вызванной процедуры.

Редактирование кода

При создании новой Web-формы
автоматически генерируется связанный с ней файл, содержащий объект
кода этой страницы. Имя файла с кодом составляется из имени Web-формы и расширения .vb или .cs (в
зависимости от используемого языка программирования: cs соответствует языку C#, vb — Visual Basic).

В каждом файле кода Visual Studio генерирует
определение класса, инициализирующие процедуры и обработчик события
Page_Load.

Чтобы скрыть сгенерированный код, следует щелкнуть на
знаке "минус" слева от директивы #Region. При этом область
сворачивается, а знак "минус" меняется на "плюс", щелкнув на
котором, можно снова раскрыть область. Аналогичным образом
сворачивают и раскрывают и другие блоки кода, например определения
классов и процедур (рис.
2.17).

Редактор кода также поддерживает функцию autocomplete,
автоматически завершающую ключевые слова и члены классов и
реализуемую при помощи технологии IntelliSense (рис.
2.18). Окно подсказки появляется всякий раз, когда происходит
ввод ключевого слова, представляющего собой команду, директиву, тип
данных либо зарезервированное слово. При этом пользователю
достаточно выбрать из списка нужный вариант окончания данной команды
и нажать клавишу Enter. В случае, если окно подсказки закрылось, а
команда так и не была выбрана, пользователь может вызвать его с
помощью нажатия комбинации клавиш CTRL+пробел.

увеличить изображение
Рис. 2.18.
Технология IntelliSense в действии при редактировании HTML-текста

Если написать исходный код страницы на языке Visual
Basic, то после завершения ввода каждой строки функция Autocomplete
будет делать первые буквы ключевых слов и имен членов заглавными.
Однако в программе, написанной на Visual C#, ключевые слова и члены
классов не распознаются, если при их вводе использован неверный
регистр, так как C#, в отличие от Visual Basic .NET, чувствителен к
регистру символов.

Кроме того, после ввода каждой строки редактор кода
выделяет синтаксические ошибки и необъявленные переменные,
подчеркивая их волнистой линией. При наведении указателя мыши на
выделенную ошибку отображается ее описание.

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

Окно Solution Explorer. Структура ASP.NET приложения

Visual Studio упорядочивает приложения при помощи
проектов и решений.

Проект (project) — это набор файлов, из которых в итоге
компонуется исполняемый файл. Решение (solution) — это группа
проектов, образующих функциональную единицу. Файлы, составляющие
решение, можно просматривать в окне Solution
Explorer, показанном на рис.
2.19.

Рис. 2.19.  Окно Solution
Explorer

Стартовый проект (start-up project) запускается первым
по щелчку кнопки Start в Visual Sludio. Если решение состоит из
нескольких проектов, то стартовый проект обычно вызывает другие
проекты этого решения.

Сведения о решении хранятся в файле решения, который
имеет расширение .sln и по умолчанию
размещается в папке "Мои документы". Эти файлы позволяют открывать
решения, а файлы проектов (файлы с расширением .vbproj или .csproj) позволяют напрямую открывать проекты,
расположенные в соответствующих папках. При сохранении проекта,
открытого таким образом, Visual Studio создаст новый файл
решения.

Рассмотрим структуру созданного проекта, отображенную в
окне Solution Explorer.

После создания нового проекта Visual Studio 2005
создает следующие файлы: Default.aspx и
Default.aspx.cs (рис.
2.19). Кроме того, автоматически создается каталог App_Data, который предназначен для хранения
файлов базы данных, используемой ASP.NET. Это может быть БД Access,
SQL Server, XML или файл любого другого формата, доступного в
ASP.NET приложении. Помимо каталога App_Data в проекте Web-приложения могут
создаваться и другие каталоги. Часть из них играет предопределенное
значение и занимает особое место в системе, их имена предопределены
и за ними закреплены определенные функции. Такие каталоги часто
называют виртуальными каталогами приложения. Другую часть составляют
каталоги, создаваемые самими пользователями. За такими каталогами не
закреплены определенные функции, а их назначение в системе
определяет сам пользователь. Более подробно виртуальные каталоги
рассматриваются в лекции
4.

Файл Default.aspx
представляет собой файл, содержащий описание Web-страницы в формате
HTML.

Таким образом, согласно такой модели организации
проекта, ASP.NET придерживается принципа разделения исходного кода и
интерфейса системы. Интерфейс системы описывается в файлах с
расширением .aspx, а исходный код
размещается в файлах с расширением .cs в
случае, если в качестве языка программирования используется C# и
.vb - если Visual Basic.

Еще одним важным файлом проекта ASP.NET приложения
является файл Web.Config. При начальном создании проекта Visual
Studio не создает этот файл. Однако при первом запуске приложения (с
помощью нажатия клавиши F5) пользователю предлагается создать этот
файл и установить в нем опцию, разрешающую отладку данного
приложения, как было показано выше (рис.
2.13).

Файл Web.Config является
конфигурационным файлом, созданным на базе формата XML. Фрагмент
такого файла изображен на рис.
2.20. Он содержит большое количество параметров настройки на
уровне приложения, которые конфигурируют все аспекты, начиная с
безопасности и заканчивая отладкой, подключением к источникам данных
и управлением состояния.

Рис. 2.20.  Пример файла
Web.Config

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

Файлы .asmx представляют
собой Web-службы и обычно реализуются в виде специальным образом
оформленных процедур или функций, которые запускаются на стороне
сервера и способны обмениваться данными с любым приложением,
функционирующим на любой платформе и поддерживающим SOAP.

Файл Global.asax содержит
обработчики событий, которые реагируют на глобальные события
приложения. Структура и содержимое этого файла более подробно
рассмотрены в [1].

Возможны и другие компоненты, к которым относятся
скомпилированные сборки, созданные сторонними разработчиками или
самим программистом и позволяющие разделять бизнес-логику и логику
доступа к данным и создавать специальные элементы управления. Для
того чтобы узнать, какие еще компоненты могут быть добавлены к
проекту Web-приложения на базе ASP.NET, необходимо выполнить команду
Website р Add New Item либо нажать Ctrl+Shift+A. В открывшемся окне будут
представлены все элементы, которые возможно добавить к проекту (рис.
2.21).

Рис. 2.21.  Добавление
компонентов в проект

Мы будем рассматривать возможности добавляемых к
проекту компонентов по мере необходимости.

Работа со справочной системой

В Visual Studio имеется объединенная справочная
система, включающая сведения по среде разработки, языкам
программирования и .NET Framework, а также информацию технической
поддержки и статьи из MSDN. В зависимости от параметров,
установленных на начальной странице в диалоговом окне Options,
содержимое справочной системы отображается в окне документа либо в
отдельном окне вне среды Visual Studio.

В справочной системе предусмотрены три поисковых окна:
Contents, Index и Search. Они работают подобно инструментальным окнам Visual Studio: их можно
"пристыковывать" к другим окнам, а также прятать и открывать, щелкая
по их ярлычкам (рис.
2.22).

увеличить изображение
Рис. 2.22.
Окно справочной системы Visual Studio 2005

В каждом поисковом окне есть раскрывающийся список
Filtered by, в котором выбирают нужный язык программирования или
раздел для поиска. Эта возможность особенно полезна при работе с
окнами Search и Index, поскольку объединенная справочная система
содержит немало информации.

В разделах с примерами операторов и кода на каждой
странице установлен фильтр языка. Он имеет вид кнопки с изображением
воронки и расположен в левом верхнем углу страницы.

Помимо материалов справочной системы в Visual Studio
доступны также ресурсы целого ряда Интернет-сайтов, поддерживаемых
Microsoft и ее партнерами, на которых размещено и постоянно
публикуется большое количество полезной информации для разработчиков
на платформе .NET Framework. Среди русскоязычных сайтов, посвященных
данной тематике, можно выделить GotDotNet.ru, адрес в интернете http://www.gotdotnet.ru/ и http://www.aspnetmania.com/.

Запуск приложения и организация виртуальных каталогов
приложений

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

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

Домен приложения
представляет собой эквивалент процесса, реализованный в .NET. Он
гарантирует невозможность для одного приложения оказывать влияние на
другое, то есть использовать пересекающиеся области памяти.

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

Следствием этой особенности является то, что обновление
Web-приложения возможно производить в любой момент, не перезапуская
Web-сервер и не беспокоясь о причинении вреда клиентам, работающим с
ним в данный момент.

Структура каталога приложения

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

Bin

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

App_Code

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

App_GlobalRecources

Хранит глобальные ресурсы,
доступные каждой странице Web-приложения.

App_LocalRecources

Хранит локальные ресурсы,
доступные только специальной странице.

App_WebReferences

Хранит ссылки на Web-службы,
используемые приложением.

App_Data

Хранит файлы данных, включая
XML-файлы и файлы SQL Express.

App_Browsers

Содержит определения браузера,
записанные в формате XML. Эти файлы определяют характеристики
браузеров на стороне клиентов и влияют на визуализацию
страницы.

App_Themes

Хранит темы, используемые
Web-приложением.

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

Краткие итоги

Visual Studio 2005 является универсальным инструментом
проектирования и создания законченных приложений для платформы
Windows. Он обладает целым рядом возможностей визуального построения
интерфейса программы, а также элементов программирования. Visual
Studio 2005 содержит в своем составе редактор, предназначенный для
разработки Web-приложений, а также встроенный Web-сервер.

Процесс разработки Web-приложения с помощью Visual
Studio 2005 напоминает процесс создания обычного приложения Windows
с использованием стандартных принципов быстрой разработки
приложений. Элементы интерфейса могут размещаться на форме с помощью
их перетаскивания из панели Toolbox в область формы. Элементы
ASP.NET, размещенные на форме, помечаются тегом asp. Большинство
интерфейсных элементов управления способны генерировать события.
Обработчик события представляет собой программную процедуру,
генерируется в программной части и может быть написан на одном из
языков платформы .NET.

В процессе разработки Web-приложения возможно
использование как внешнего Web-сервера IIS, на котором может быть
размещен проект, так и локального Web-сервера, встроенного в среду
Visual Studio 2005.

Visual Studio 2005 имеет также развитые средства
отладки приложений, которые значительно облегчают процесс поиска и
исправления ошибок, содержащихся в исходном коде программы.

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

© gsu.by