Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы разработки Web-приложений на ASP.NET

Покупка
Артикул: 833525.01.99
Доступ онлайн
1 000 ₽
В корзину
Курс ориентирован на обучение основам разработки интернет приложений на основе технологии ASP.NET. Основной акцент делается на знакомство с принципами разработки интернет приложений с использованием технологии ASP.NET. Рассматривается круг вопросов, необходимых для изучения начинающим разработчиком интернет приложений на базе данной технологии. В качестве среды, используемой для разработки выбрана Visual Studio 2005. Курс предназначен для изучения базовых принципов разработки интернет приложений. Для его успешного усвоения необходимо понимание основ программирования, знания основных принципов работы Web приложений, синтаксиса языка HTML, а также начальные сведения об архитектуре .NET Framework. Рассматриваются принципы работы в среде Visual Studio 2005, архитектура приложений ASP.NET, использование мастер страниц, а также принципов построения интерфейса пользователя, использование различных средств, облегчающих создание и поддержание многостраничных Web приложений, а также основы работы с базами данных. В курсе затрагиваются также вопросы организации эффективной навигации по страницам Web приложения, использование механизмов кэширования содержимого страниц, принципы разработки пользовательских элементов управления, организации ввода данных от пользователя и проверки их корректности, использование основных классов, встроенных в ASP.NET и применяемых для разработки интернет приложений любого уровня - от простейших до достаточно крупных и сложных. Отдельное внимание уделяется созданию и управлению оформления страниц Web приложения с использованием каскадных таблиц стилей и тем. Все рассматриваемые вопросы снабжены большим количеством примеров, позволяющих в полной мере рассмотреть практические аспекты использования применяемых технологий. В курсе приводятся основные сведения об особенностях языка программирования C#, позволяющие получить представление о его отличиях от других современных языков программирования. Особый упор сделан на реализацию базовых принципов обработки различного вида информации с использованием языка программирования C#, а также использование принципов объектно-ориентированного программирования.
Столбовский, Д. Н. Основы разработки Web-приложений на ASP.NET : краткий курс / Д. Н. Столбовский. - Москва : ИНТУИТ, 2016. - 275 с. - ISBN 978-5-94774-991-5. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2155039 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов

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

2-е издание, исправленное

Столбовский Д.Н.

Национальный Открытый Университет “ИНТУИТ”
2016

2

УДК 004.738.5(07)
ББК 12
С81
Основы разработки Web-приложений на ASP.NET / Столбовский Д.Н. - M.: Национальный Открытый
Университет “ИНТУИТ”, 2016 (Основы информационных технологий)
ISBN 978-5-94774-991-5

Курс ориентирован на обучение основам разработки интернет приложений на основе технологии
ASP.NET. Основной акцент делается на знакомство с принципами разработки интернет приложений
с использованием технологии ASP.NET. Рассматривается круг вопросов, необходимых для изучения
начинающим разработчиком интернет приложений на базе данной технологии.
В качестве среды, используемой для разработки выбрана Visual Studio 2005. Курс предназначен для
изучения базовых принципов разработки интернет приложений. Для его успешного усвоения
необходимо понимание основ программирования, знания основных принципов работы Web
приложений, синтаксиса языка HTML, а также начальные сведения об архитектуре .NET Framework.
Рассматриваются принципы работы в среде Visual Studio 2005, архитектура приложений ASP.NET,
использование мастер страниц, а также принципов построения интерфейса пользователя,
использование различных средств, облегчающих создание и поддержание многостраничных Web
приложений, а также основы работы с базами данных. В курсе затрагиваются также вопросы
организации эффективной навигации по страницам Web приложения, использование механизмов
кэширования содержимого страниц, принципы разработки пользовательских элементов управления,
организации ввода данных от пользователя и проверки их корректности, использование основных
классов, встроенных в ASP.NET и применяемых для разработки интернет приложений любого
уровня – от простейших до достаточно крупных и сложных. Отдельное внимание уделяется
созданию и управлению оформления страниц Web приложения с использованием каскадных таблиц
стилей и тем. Все рассматриваемые вопросы снабжены большим количеством примеров,
позволяющих в полной мере рассмотреть практические аспекты использования применяемых
технологий. В курсе приводятся основные сведения об особенностях языка программирования C#,
позволяющие получить представление о его отличиях от других современных языков
программирования. Особый упор сделан на реализацию базовых принципов обработки различного
вида информации с использованием языка программирования C#, а также использование принципов
объектно-ориентированного программирования.

(c) ООО “ИНТУИТ.РУ”, 2008-2016
(c) Столбовский Д.Н., 2008-2016

3

Принципы работы и структура Web-приложений на основе
ASP.NET

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

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

Архитектура Web-приложений

Web-приложения представляют собой особый тип программ, построенных по
архитектуре “клиент-сервер”. Особенность их заключается в том, что само Webприложение находится и выполняется на сервере - клиент при этом получает только
результаты работы. Работа приложения основывается на получении запросов от
пользователя (клиента), их обработке и выдачи результата. Передача запросов и
результатов их обработки происходит через Интернет (рис. 1.1).

Рис. 1.1.  Архитектура Web-приложения

Отображением результатов запросов, а также приемом данных от клиента и их
передачей на сервер обычно занимается специальное приложение — браузер (Internet
Explorer, Mozilla, Opera и т. д.). Как известно, одной из функций браузера является
отображение данных, полученных из Интернета, в виде страницы, описанной на языке
HTML, следовательно, результат, передаваемый сервером клиенту, должен быть
представлен на этом языке.

На стороне сервера Web-приложение выполняется специальным программным
обеспечением (Web-сервером), который и принимает запросы клиентов, обрабатывает
их, формирует ответ в виде страницы, описанной на языке HTML, и передает его

4

клиенту. Одним из таких Web-серверов является Internet Information Services (IIS)
компании Microsoft. Это единственный Web-сервер, который способен выполнять
Web-приложения, созданные с использованием технологии ASP.NET.

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

За счет наличия исполняемой части, Web-приложения способны выполнять
практически те же операции, что и обычные Windows-приложения, с тем лишь
ограничением, что код исполняется на сервере, в качестве интерфейса системы
выступает браузер, а в качестве среды, посредством которой происходит обмен
данными, — Интернет. К наиболее типичным операциям, выполняемым Webприложениями, относятся:

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

Краткое описание архитектуры ASP.NET и .NET Framework

ASP.NET — это платформа для создания Web-приложений и Web-сервисов,
работающих под управлением IIS. Сегодня существуют другие технологии,
позволяющие создавать Web-приложения. К ним относятся прежде всего, очень
популярные сегодня языки PHP и PERL, более старая и менее популярная технология
CGI и т. д. Однако ASP.NET отличается от них высокой степенью интеграции с
серверными продуктами, а также с инструментами Microsoft для разработки доступа к
данным и обеспечения безопасности. Кроме того, ASP.NET позволяет разрабатывать
Web- и Windows-приложения, используя очень похожие технологические цепочки,
одинаковые языки программирования, технологии доступа к данным и т. д. Более того,
базовые языки программирования, с помощью которых сегодня возможна разработка
Web-приложений, являются полностью объектно-ориентированными, что делает
разработку исполнимой части, а также ее модификацию, обслуживание, отладку и
повторное использование гораздо более простым занятием, чем в других технологиях.
Существует достаточно большой перечень сильных сторон использования ASP.NET
для создания сложных Web-приложений. Целью данного курса не является описание

5

всех сильных и слабых сторон этой платформы. Более подробно об этом можно узнать
на сайте ссылка: http://www.microsoft.com, а также в [1].

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

Важным моментом в понимании архитектуры ASP.NET является тот факт, что она
является частью инфраструктуры .NET Framework. Более подробно об архитектуре и
принципах работы .NET Framework можно узнать в [2]. Так как эта тема является
слишком объемной и выходит за рамки данного курса, ограничимся лишь кратким
описанием инфраструктуры .NET Framework.

Архитектура .NET Framework

Как утверждает корпорация Microsoft, до 80% средств, направленных на исследования
и разработки, тратится на платформу .NET и связанные с ней технологии. Результаты
такой политики на сегодняшний день выглядят впечатляюще. Так, область охвата
платформы .NET просто огромна. Платформа состоит из четырех групп программных
продуктов:

набор языков, куда входят С# и Visual Basic .NET; набор инструментальных средств
разработки, в том числе Visual Studio .NET; обширная библиотека классов для
построения Web-служб и приложений, работающих в Windows и в Интернете; а также
среда выполнения программ CLR ( Common Language Runtime — общеязыковая среда
выполнения), в которой выполняются объекты, построенные на этой платформе;

набор серверов .NET Enterprise Servers, ранее известных под именами SQL Server 2000,
Exchange 2000, BizTalk 2000 и др., которые предоставляют специализированные
функциональные возможности для обращения к реляционным базам данных,
использования электронной почты, оказания коммерческих услуг “бизнес-бизнес”
(В2В) и т. д.;

богатый выбор коммерческих Web-служб, называемых .Net My Services. За умеренную
плату разработчики могут пользоваться этими службами при построении приложений,
требующих идентификации личности пользователя и других данных;

новые некомпьютерные устройства, поддерживающие средства .NET, — от сотовых
телефонов до игровых приставок.

Microsoft .NET поддерживает не только языковую независимость, но и языковую
интеграцию. Это означает, что разработчик может наследовать от классов,
обрабатывать исключения и использовать преимущества полиморфизма при
одновременной работе с несколькими языками. Платформа .NET Framework
предоставляет такую возможность с помощью спецификации CTS ( Common Type

6

System — общая система типов), которая полностью описывает все типы данных,
поддерживаемые средой выполнения, определяет, как одни типы данных могут
взаимодействовать с другими и как они будут представлены в формате метаданных
.NET. Например, в .NET любая сущность является объектом какого-нибудь класса,
производного от корневого класса System.Object. Спецификация CTS поддерживает
такие общие понятия, как классы, делегаты (с поддержкой обратных вызовов),
ссылочные и размерные типы.

Важно понимать, что не во всех языках программирования .NET обязательно должны
поддерживаться все типы данных, которые определены в CTS. Спецификация CLS
(Common Language Specification — общая языковая спецификация ) устанавливает
основные правила, определяющие законы, которым должны следовать все языки:
ключевые слова, типы, примитивные типы, перегрузки методов и т. п. Спецификация
CLS определяет минимальные требования, предъявляемые к языку платформы .NET.
Компиляторы, удовлетворяющие этой спецификации, создают объекты, способные
взаимодействовать друг с другом. Любой язык, соответствующий требованиям CLS,
может использовать все возможности библиотеки FCL (Framework Class Library —
библиотека классов платформы). CLS позволяет и разработчикам, и поставщикам, и
производителям программного обеспечения не выходить за пределы общего набора
правил для языков, компиляторов и типов данных.

Платформа .NET Framework является надстройкой над операционной системой, в
качестве которой может выступать любая версия Windows1). На сегодняшний день
платформа .NET Framework включает в себя:

четыре официальных языка: С#, VB.NET, Managed C++ (управляемый C++) и
JScript .NET;
объектно-ориентированную среду CLR ( Common Language Runtime ), совместно
используемую этими языками для создания приложений под Windows и для
Internet;
ряд связанных между собой библиотек классов под общим именем FCL
(Framework Class Library).

Отношения архитектурных компонентов платформы .NET Framework с
концептуальной точки зрения представлены на рис. 1.2.

7

Рис. 1.2.  Архитектура .NET Framework

Самым важным компонентом платформы .NET Framework является CLR ( Common
Language Runtime ), предоставляющая среду, в которой выполняются программы.
Главная ее роль заключается в том, чтобы обнаруживать и загружать типы .NET и
производить управление ими в соответствии с полученными командами. CLR включает
в себя виртуальную машину, во многих отношениях аналогичную виртуальной машине
Java. На верхнем уровне среда активизирует объекты, производит проверку
безопасности, размещает объекты в памяти, выполняет их, а также запускает сборщик
мусора.

Под сборкой мусора понимается освобождение памяти, занятой объектами, которые
стали бесполезными и не используются в дальнейшей работе приложения. В ряде
языков программирования (например, C/C++) память освобождает сам программист, в
явной форме отдавая команды как на создание, так и на удаление объекта. В этом есть
своя логика — “я тебя породил, я тебя и убью”. Однако в CLR задача сборки мусора (и
другие вопросы, связанные с использованием памяти) решается в нужное время и в
нужном месте исполнительной средой, ответственной за выполнение вычислений.

На рис. 1.2 над уровнем CLR находится набор базовых классов платформы, над ним
расположены слой классов данных и XML, а также слой классов для создания Webслужб (Web Services), Web- и Windows-приложений (Web Forms и Windows Forms).
Собранные воедино, эти классы известны под общим именем FCL (Framework Class
Library). Это одна из самых больших библиотек классов в истории программирования.
Она открывает доступ к системным функциям, включая и те, что прежде были
доступны только через API Windows, а также к прикладным функциям для Webразработки (ASP.NET), доступа к данным (ADO.NET), обеспечения безопасности и
удаленного управления. Имея в своем составе более 4000 классов, библиотека FCL
способствует быстрой разработке настольных, клиент-серверных и других приложений

8

и Web-служб.

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

Над этим уровнем находится уровень классов, которые расширяют базовые классы с
целью обеспечения управления данными и XML. Классы данных позволяют
реализовать управление информацией, хранящейся в серверных базах данных. В число
этих классов входят классы SQL (Structured Query Language, язык структурированных
запросов), дающие программисту возможность обращаться к долговременным
хранилищам данных через стандартный интерфейс SQL. Кроме того, набор классов,
называемый ADO.NET, позволяет оперировать постоянными данными. Платформа
.NET Framework поддерживает также целый ряд классов, позволяющих
манипулировать XML-данными и выполнять поиск и преобразования XML.

Базовые классы, классы данных и XML расширяются классами, предназначенными для
построения приложений на основе трех различных технологий: Web Services (Webслужбы), Web Forms (Web-формы) и Windows Forms (Windows-формы). Web-службы
включают в себя ряд классов, поддерживающих разработку облегченных
распределяемых компонентов, которые могут работать даже с брандмауэрами и
программами трансляции сетевых адресов (NAT). Поскольку Web-службы применяют
в качестве базовых протоколов связи стандартные протоколы HTTP и SOAP, эти
компоненты поддерживают в киберпространстве подход “Plug & Play”.

Инструментальные средства Web Forms и Windows Forms позволяют применять
технику RAD (Rapid Application Development — быстрая разработка приложений) для
построения Web- и Windows-приложений. Эта техника сводится к перетаскиванию
элементов управления с панели инструментов на форму, двойному щелчку по элементу
и написанию кода, который обрабатывает события, связанные с этим элементом.

Компиляция и язык MSIL

.NET-приложения исполняются иначе, чем традиционные Windows-приложения. Такие
программы компилируются фактически в два этапа. На первом этапе исходный код
компилируется во время построения проекта и вместо исполняемого файла с
машинными кодами получается сборка2) (assembly), содержащая команды
промежуточного языка MSIL ( Microsoft Intermediate Language — промежуточный язык
Microsoft). Код IL сохраняется в файле на диске. При этом файлы MSIL (сокращенно
IL), генерируемые компилятором, например, С#, идентичны IL-файлам, генерируемым
компиляторами с других языков .NET. В этом смысле платформа остается в неведении
относительно языка. Самой важной характеристикой среды CLR является то, что она
общая ; одна среда выполняет как программы, написанные на С#, так и программы на
языке VB.NET.

9

Второй этап компиляции наступает непосредственно перед фактическим выполнением
страницы. На этом этапе CLR транслирует промежуточный код IL в низкоуровневый
собственный машинный код, выполняемый процессором. Процесс происходит
следующим образом: при выполнении .NET-программы системы CLR активизирует
JIT-компилятор, который затем превращает MSIL во внутренний код процессора. Этот
этап известен как оперативная компиляция “на лету” (Just-In-Time) или JITкомпиляция (JIT’ing), и он проходит одинаково для всех приложений .NET (включая,
например, приложения Windows). При исполнении программы CLR берет на себя
управление памятью, контроль типов и решает за приложение ряд других задач. На
рис. 1.3 показан этот двухэтапный процесс компиляции.

Рис. 1.3.  Схема компиляции .NET-приложения

Стандартный JIT-компилятор работает по запросу. Когда вызывается тот или иной
метод, JIT-компилятор анализирует IL-код и производит высокоэффективный
машинный код, выполняемый очень быстро. JIT-компилятор достаточно
интеллектуален, чтобы распознать, был ли код уже скомпилирован, поэтому во время
выполнения программы компиляция происходит лишь при необходимости. По ходу
своего выполнения .NET-программа работает все быстрее и быстрее, так как повторно
используется уже скомпилированный код.

10

Доступ онлайн
1 000 ₽
В корзину