Цель лекции: знакомство с принципами использования и возможностями среды Visual Studio 2005 для разработки Web-приложений на основе ASP.NET.
Почти все крупномасштабные Web-сайты ASP.NET разрабатываются
с использованием
К другим основным преимуществам Visual Studio можно отнести следующие.
Это неполный перечень всех возможностей данной среды разработки, предоставляющей разработчикам поистине огромный инструментарий.
При загрузке 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) Произвольное расположение инструментальных окон в интегрированной среде разработки Visual Studio 2005Важным компонентом интерфейса является также способ отображения окон документов внутри интегрированной среды разработки. Существует два способа отображения окон: стандартный многооконный интерфейс, используемый многими программами, когда внутри основного окна создается новое окно, которое представляет собой отдельное окно с заголовком, оно не может быть вынесено за пределы главного окна; и интерфейс на основе закладок, когда окно документа всегда занимает все рабочее пространство внутри главного окна, а переключение между окнами возможно путем щелчка по соответствующей вкладке (рис 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) можно указать следующие сведения:
(рис 2.5) Окно создания нового Web-приложенияАльтернативой ручному вводу месторасположения является нажатие кнопки "Обзор" (Browse), отображающей диалоговое окно "Выбор месторасположения" (Choose Location, рис 2.6).
(рис 2.6) Установка месторасположения создаваемого Web-приложенияВдоль левой стороны диалогового окна расположены четыре кнопки, позволяющие получить доступ к различным типам месторасположений:
После возврата в диалоговое окно создания 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 элемента, указание на его обработку на стороне сервера
и другие параметры, такие как подпись кнопки (в данном случае).
Особое значение при разработке приложений играет окно панели
компонентов
В Visual Studio окно Toolbox отображает элементы управления и компоненты,
которые можно перетаскивать в окно документа. Содержимое
Toolbox зависит от типа редактируемого документа. Например, при редактировании
Файл Default.aspx.cs содержит программный код, привязанный к
странице. Организация этого файла практически полностью повторяет
организацию аналогичного файла для проекта Windows-приложения.
Пример содержимого только что созданного файла такого типа приведен
на рис 2.8.
(рис 2.8) Элементы управления окна Toolbox в режиме редактирования исходного кодаКак видно из рисунка, файл начинается с подключения различных
пространств имен, содержащих описания тех классов .NET Framework, которые необходимо использовать в данном модуле. Затем следует описание
класса страницы, состоящего из различных функций, в том числе привязанных к обработке событий данной формы. По умолчанию создана заготовка
функции — Page_Load.
Принцип разработки приложения в ASP.NET полностью соответствует объектно-ориентированному подходу. Программист в процессе создания Web-приложения оперирует классами, определяя их атрибуты и значения, а также методы, предназначенные для выполнения объектами класса действий, привязанных к событиям страницы.
Компоненты в окне Toolbox (рис 2.9) упорядочены по
категориям. Щелкнув на категории, можно отобразить элементы из этой категории.
Содержимое окна Toolbox можно прокручивать, щелкая по стрелкам,
расположенным сверху и снизу списка компонентов. Когда текущим документом
является код, в окне Toolbox не отображаются компоненты, так
как их невозможно размещать в рабочей области.
(рис 2.9) Пример размещения кнопки на странице с помощью перетаскивания в режиме редактирования исходного кода страницыDesign и Source, расположенные
внизу окна документа (рис 2.7).
Естественно, не все задачи можно решить в графическом режиме.
Поэтому приходится редактировать Web-документы в режиме исходного
кода. Если хорошо знать HTML, то этот способ может оказаться даже
удобнее использования графических инструментов. Поддерживаемая
Visual Studio технология
Для демонстрации режимов работы со страницей рассмотрим пример создания простейшей страницы 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.
Следующим этапом нашего примера является создание
Для создания
в
окне свойств кнопки) и произвести двойной
щелчок левой кнопкой мыши по событию, обработчик которого необходимо
создать, в нашем примере это ).
(рис 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 компонует его файлы,
показывая в окне
Дважды щелкнув по описанию ошибки в окне
Если во время компоновки ошибки не обнаружены, Visual Studio запускает приложение в режиме отладки, а в случае Web-приложения — запускает установленный в системе браузер по умолчанию и открывает в нем начальную страницу Web-приложения. Если при исполнении приложения в режиме отладки возникает ошибка, 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), при этом исполнение останавливается на первой строке вызванной процедуры.
При создании новой .vb или .cs (в зависимости от используемого языка программирования: cs соответствует языку C#, vb — Visual Basic).
В каждом файле кода Visual Studio генерирует определение класса,
инициализирующие процедуры и обработчик события Page_Load.
Чтобы скрыть сгенерированный код, следует щелкнуть на знаке "минус" слева от директивы #Region. При этом область сворачивается, а знак "минус" меняется на "плюс", щелкнув на котором, можно снова раскрыть область. Аналогичным образом сворачивают и раскрывают и другие блоки кода, например определения классов и процедур (рис 2.17).
Редактор кода также поддерживает функцию autocomplete, автоматически
завершающую ключевые слова и члены классов и реализуемую
при помощи технологии
(рис 2.18) Технология IntelliSense в действии при редактировании HTML-текстаЕсли написать исходный код страницы на языке Visual Basic, то после завершения ввода каждой строки функция Autocomplete будет делать первые буквы ключевых слов и имен членов заглавными. Однако в программе, написанной на Visual C#, ключевые слова и члены классов не распознаются, если при их вводе использован неверный регистр, так как C#, в отличие от Visual Basic .NET, чувствителен к регистру символов.
Кроме того, после ввода каждой строки редактор кода выделяет синтаксические ошибки и необъявленные переменные, подчеркивая их волнистой линией. При наведении указателя мыши на выделенную ошибку отображается ее описание.
Большинство автоматизированных возможностей редактора кода можно включать и отключать, изменяя параметры в диалоговом окне Options. Кроме того, в нем предусмотрена корректировка автоматических абзацных отступов, завершения блоков кода и других параметров, определяющих работу с языком.
Visual Studio упорядочивает приложения при помощи проектов и решений.
Проект (project) — это набор файлов, из которых в итоге компонуется
исполняемый файл. Решение (solution) — это группа проектов, образующих
функциональную единицу. Файлы, составляющие решение, можно
просматривать в окне
(рис 2.19) Окно Solution ExplorerСведения о решении хранятся в файле решения, который имеет расширение .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-приложения могут
создаваться и другие каталоги. Часть из них играет предопределенное
значение и занимает особое место в системе, их имена предопределены и за ними
закреплены определенные функции. Такие каталоги часто называют
Файл 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.
Файл содержит обработчики событий, которые
реагируют на глобальные события приложения. Структура и содержимое этого
файла более подробно рассмотрены в .
Возможны и другие компоненты, к которым относятся скомпилированные
сборки, созданные сторонними разработчиками или самим программистом
и позволяющие разделять бизнес-логику и логику доступа к
данным и создавать специальные элементы управления. Для того чтобы
узнать, какие еще компоненты могут быть добавлены к проекту 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. Они работают подобно
(рис 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-службы, находящиеся в одном виртуальном каталоге, выполняются в рамках одного домена приложения. В случае же, если они расположены в разных виртуальных каталогах, их выполнение происходит в разных доменах.
Для создания доменов ASP.NET использует механизм отложенной
инициализации, при котором
Следствием этой особенности является то, что обновление Web-приложения возможно производить в любой момент, не перезапуская Web-сервер и не беспокоясь о причинении вреда клиентам, работающим с ним в данный момент.
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.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.