Основы технологии ASP.Net Web Forms. Обзор платформы Microsoft .Net презентация

Содержание


Презентации» Информатика» Основы технологии ASP.Net Web Forms. Обзор платформы Microsoft .Net
Основы технологии 
 Основы технологии 
 ASP.Net Web Forms
 Обзор платформыПлатформа .Net 
 Новый подход компании Microsoft с созданию и выполнениюПространства имен FCL  (FCL Namespaces)Понятие ASP.Net  Web приложенияПриложения
 Приложения это прикладные программы, решающие задачи конечных пользователей.
 Типы приложений:
Модель Windows приложенияМодель Web приложенийСравнение Windows и Web приложенийОтличие web и windows приложений
 Web приложения выполняются на другом компьютереСравнение моделей  Windows Forms и Web FormsТехнология ASP.NetЦели создания ASP.NET
 Основной целью технологии ASP.NET является создание модели, котораяОсновные идеи ASP.Net
 Реентерабельные формы – форма посылает данные на обработкуОбзор технологии ASP.NET
 ASP.NET предоставляет средства для создания, развертывания и выполненияСемь важных фактов об технологии ASP.Net
 ASP.Net интегрирована с .Net Framework
Версии ASP.Net
 ASP.Net это ISAPI dll, которая работает с .Net FrameworkДополнение ASP.NET 3.5 
 ASP.NET 3.5 дополнительно включает небольшой набор сборокКомпоненты ASP.Net 3.5ASP.Net web приложениеASP.Net Web приложение
 ASP.Net web приложение это набор web форм.
 ASP.NetСостав web приложения
 Набор web-форм (HTML код + программа)
 Базы данныхТипы web-проектов в  Visual Studio
 «Web Site» - web-сайты, вОтладочный web-сервер
 Для отладки web приложений Visual Studio использует специальный отладочныйASP.Net Web Forms (web формы)Web-формы  (ASP.Net страница, web-страницы)
 Каждое ASP.Net web-приложение включает хотя быПрограммный код web-формы
 Программный код web формы описывается в виде описанияПрограммный код страницы (Code-behind)
 Два стиля создания страниц ASP.NET
 Эл.управления иОписание web-формы
 Описание формы и кода в одном файлеСтраница ASP.NET  (пример: HelloWorld.aspx)Простая страница Web-приложенияОтображение страницы Web-приложения в браузереПрограммный код Web-страницыОписание web страницы  с программным кодомПорядок работы web-приложения
 При установке платформы .NET, в соответствующих папках C:\WINDOWS\Microsoft.NET\Framework\Принцип действия ASP.NETЛогика работы ASP.Net приложенияПорядок обработки web-страниц
 HTML код из файла aspx будет просто отправлятьсяАвтоматическая компиляция
 После редактирования программного кода web страниц ASP.NET автоматически компилируетОбработка первого запросаОбработка последующих запросовЭтапы обработки web-формы на сервере
 На сервере обработка ASP.NET web форм Жизненный цикл страницы ASP.NET1. Инициализация среды страницы
 На этом этапе ASP.NET создает страницу (объект2. Инициализация пользовательского кода
 Инициируется событие Page.Load и большинство страниц обрабатываютСледует помнить, что во view state сохраняются все измененные свойства, в3. Проверка данных (Validation)
 ASP.NET включает элементы управления, выполняющие проверку введенных4. Обработка событий (Event handling)
 К началу данного этапа объект страницыНапример, если на странице расположена кнопка submit и text box, который7. Очистка (Cleaning)
 В конце жизненного цикла страница формируется (выполняется рендерингСтраница как контейнер ЭУ
 Web страница содержит коллекцию Controls, в которуюКласс Page
 Web страница также реализуется в виде объекта специального классаПоддержка состояния формы между ее вызовамиПоддержка состояния с помощью обратных отправок
 По умолчанию, ASP.NET поддерживает состояниеОбратные отправки (Postbacks)
 Обратная отправка (postback) возникает, когда страница генерирует HTMLПоддержка состояния в скрытом поле ViewState
 ASP.NET использует скрытое поле ViewStateСохранение состояния
 <html>
  <head>
   <title>Hello World Page</title>



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Основы технологии Основы технологии ASP.Net Web Forms Обзор платформы Microsoft .Net


Слайд 2
Описание слайда:
Платформа .Net Новый подход компании Microsoft с созданию и выполнению программ. Позволяет использовать одинаковые технологии программирования Windows и Web приложений. ASP.Net – среда разработки и выполнения Интернет приложений.

Слайд 3
Описание слайда:
Пространства имен FCL (FCL Namespaces)

Слайд 4
Описание слайда:
Понятие ASP.Net Web приложения

Слайд 5
Описание слайда:
Приложения Приложения это прикладные программы, решающие задачи конечных пользователей. Типы приложений: Windows приложение – выполняется на том же компьютере, где работает пользователь; Web приложение – строится по распределенной технологии клиент-сервер; выполняется на удаленном компьютере – сервере; пользователь работает с имеющейся на его компьютере программой - браузер.

Слайд 6
Описание слайда:

Слайд 7
Описание слайда:

Слайд 8
Описание слайда:
Модель Windows приложения

Слайд 9
Описание слайда:
Модель Web приложений

Слайд 10
Описание слайда:
Сравнение Windows и Web приложений

Слайд 11
Описание слайда:
Отличие web и windows приложений Web приложения выполняются на другом компьютере (сервере). Например, создается форма, которая позволяет пользователям выбирать товар и изменить его описание. Пользователь может выполнить это в окне браузера, но для выполнения требуемых операций (таких как обновление БД), код приложения должен выполняться на web сервере. Web приложения не хранят состояние. Прежде чем сформированная HTML страница передается пользователю, все объекты, связанные с этой страницей уничтожаются. Это позволяет создавать высоко масштабируемые, поддерживающие передачу большого количества данных (трафик) приложений.

Слайд 12
Описание слайда:
Сравнение моделей Windows Forms и Web Forms

Слайд 13
Описание слайда:
Технология ASP.Net

Слайд 14
Описание слайда:
Цели создания ASP.NET Основной целью технологии ASP.NET является создание модели, которая позволяет web разработчикам быстро создавать web формы, таким же способом, как Windows разработчики могут создавать графический интерфейс (окна) для настольных приложений. Другие цели: поддержать большую часть технологии ASP и улучшает ее сделать проще: чем меньше кода, тем легче создавать и поддерживать приложение поддерживать разные компилируемые языки программирования ускорить работу приложения повысить масштабируемость приложений управляемый доступный возможность настраивания и расширяемости поддерживать безопасность иметь набор инструментов для работы

Слайд 15
Описание слайда:
Основные идеи ASP.Net Реентерабельные формы – форма посылает данные на обработку самой себе Сохранение состояния – между вызовами формы данные (свойства) элементов управления формы сохраняются Объектная модель Web формы – при обработке на сервере создаются объекты, соответствующие элементам управления на сервер передаются не только данные элементов управления, но и информация о событиях, произошедших на стороне клиента

Слайд 16
Описание слайда:
Обзор технологии ASP.NET ASP.NET предоставляет средства для создания, развертывания и выполнения Web Applications и Web Services Также как и ASP, ASP.NET является технологией на стороне сервера (server-side technology) Web Applications строятся с использованием Web Forms Web Forms спроектированы для такого же легкого создания web приложений, как и построения Windows приложений с использованием C# илиVisual Basic

Слайд 17
Описание слайда:
Семь важных фактов об технологии ASP.Net ASP.Net интегрирована с .Net Framework ASP.Net использует компиляцию, а не интерпретацию ASP.Net является многоязычной ASP.Net выполняется в среде (под управлением) Common Language Runtime ASP.Net является объектно-ориентированной технологией ASP.Net поддерживает разные типы браузеров ASP.Net легко устанавливается и конфигурируется.

Слайд 18
Описание слайда:
Версии ASP.Net ASP.Net это ISAPI dll, которая работает с .Net Framework и Internet Information Services. Есть несколько версий ASP.Net Версия 1.0 Версия 1.1 Версия 2.0 Версия 3.5

Слайд 19
Описание слайда:
Дополнение ASP.NET 3.5 ASP.NET 3.5 дополнительно включает небольшой набор сборок с новыми типами: System.Core.dll : Includes the core LINQ functionality System.Data.Linq.dll: Includes the implementation for LINQ to SQL System.Data.DataSetExtensions.dll:. Includes the implementation for LINQ to DataSet System.Xml.Linq.dll: Includes the implementation for LINQ to XML System.Web.Extensions.dll: Includes the implementation for ASP.NET AJAX and new web controls

Слайд 20
Описание слайда:
Компоненты ASP.Net 3.5

Слайд 21
Описание слайда:
ASP.Net web приложение

Слайд 22
Описание слайда:
ASP.Net Web приложение ASP.Net web приложение это набор web форм. ASP.Net Web Application Web site Web форма, обычно, состоит из двух файлов aspx файл (content file, *.aspx), HTML описание графического интерфейса с помощью HTML кода и серверных элементов управления; файл с кодом (code file, *.cs или *.vb), программный код, выполняемый при вызове aspx файла. Основным элементом aspx файла, содержащего HTML код и описание Серверных ЭУ является элемент <Form> (Web Форма). данная форма выполняет сбор и отправку данных самой себе. содержит описание всех свойств серверных ЭУ. В самом простом случае программный код web формы может быть записан в aspx файле.

Слайд 23
Описание слайда:
Состав web приложения Набор web-форм (HTML код + программа) Базы данных для хранения Описаний пользователя Предыдущие результаты работы … Различные ресурсы Документы Изображения

Слайд 24
Описание слайда:
Типы web-проектов в Visual Studio «Web Site» - web-сайты, в состав web-сайта не входят файлы с описанием проекта; Проект «ASP.NET Web Application» - Web приложение, в состав которого входят файлы с описанием проекта (*.prj, *.sln и т.п.).

Слайд 25
Описание слайда:
Отладочный web-сервер Для отладки web приложений Visual Studio использует специальный отладочный web-сервер. Данный web-сервер запускается каждый раз при запуске на выполнение разработанного web-приложения.

Слайд 26
Описание слайда:
ASP.Net Web Forms (web формы)

Слайд 27
Описание слайда:
Web-формы (ASP.Net страница, web-страницы) Каждое ASP.Net web-приложение включает хотя бы одну web-страницу Web-page сохраняется в отдельном файле с расширением *.aspx (это content file или murkup file) Web page включает: Описание пользовательского интерфейса в виде формы Описание класса производного от класса Page Web-page может хранить код обработки сообщений (часть производного класса) в отдельном файле с расширением *.aspx.cs (для языка C#) Содержание web-страницы включает: Обычный HTML код Серверные элементы управления

Слайд 28
Описание слайда:
Программный код web-формы Программный код web формы описывается в виде описания класса производного от класса Page и состоит из обработчиков событий. Можно выделить два вида событий: События класса Page; События серверных Элементов Управления. При обработке запроса к web форме создаются: Экземпляр класса производного от Page; Экземпляры всех серверных ЭУ, которые описаны в форме; Все объекты серверных ЭУ заносятся в коллекцию Controls класса производного от Page и им назначаются обработчики событий, описанные в данном классе. CLR среда инициирует события, связанные с ЭУ. Последовательно выполняются обработчики событий. У всех ЭУ вызывается методы Render, которые вместо описаний серверных ЭУ заносят в aspx файл HTML код и, возможно, скрипты. Все созданные объекты удаляются из памяти. Полученный файл отправляется вызывающему браузеру.

Слайд 29
Описание слайда:
Программный код страницы (Code-behind) Два стиля создания страниц ASP.NET Эл.управления и программный код в одном .aspx файле Эл.управления в .aspx файле, программный код в code-behind файле Поддерживается средой разработки Visual Studio.NET Файлы с программным кодом страницы позволяют отделить описание интерфейса пользователя от кода Позволяет программистам и проектировщикам (programmers and designers) работать независимо друг от друга

Слайд 30
Описание слайда:
Описание web-формы Описание формы и кода в одном файле

Слайд 31
Описание слайда:
Страница ASP.NET (пример: HelloWorld.aspx)

Слайд 32
Описание слайда:
Простая страница Web-приложения

Слайд 33
Описание слайда:
Отображение страницы Web-приложения в браузере

Слайд 34
Описание слайда:
Программный код Web-страницы

Слайд 35
Описание слайда:
Описание web страницы с программным кодом

Слайд 36
Описание слайда:
Порядок работы web-приложения При установке платформы .NET, в соответствующих папках C:\WINDOWS\Microsoft.NET\Framework\ записывается файл aspnet_isapi.dll. Это – ISAPI-расширение, которое предназначено оно для обработки запросов, адресованных ASP.NET web-приложениям. При вызове web-приложения (файлов *.aspx *.asmx и т.д.): запускается модуль aspnet_isapi.dll, который разбирает содержимое страниц aspx вместе с файлом отделенного кода и формирует класс на языке страницы производный от класса Page. Этот класс компилируется в библиотеку DLL; запускается программа aspnet_wp.exe, которая создает рабочий процесс, обрабатывающих запросы , в который загружается созданная DLL; для данного класса создается его экземпляр – объект, который используется для обработки запроса к web-форме; основная задача данного объекта – формирование и занесение (посылка) HTML-кода в выходной поток. Последующие запросы к данной странице, если исходный код страницы не меняется, обрабатываются с помощью созданной DLL. Все эти файлы можно найти в директории "Temporary ASP.NET Files" текущей версии .NET.

Слайд 37
Описание слайда:
Принцип действия ASP.NET

Слайд 38
Описание слайда:
Логика работы ASP.Net приложения

Слайд 39
Описание слайда:
Порядок обработки web-страниц HTML код из файла aspx будет просто отправляться пользователю. Серверные ЭУ файла aspx будут обрабатываются на сервере. При первом запуске ASP.Net компонент компилирует Page класс, который является производным от класса System.Web.UI.Page. Компилированный класс включает экземпляры всех серверных ЭУ, которые есть на странице и все методы описанные в файле с кодом. Откомпилированный файл сохраняется в кэше (временной памяти) для последующего использования.

Слайд 40
Описание слайда:
Автоматическая компиляция После редактирования программного кода web страниц ASP.NET автоматически компилирует кода в сборку (assembly) Откомпилированный код кэшируется в CLR Assembly Cache При последующем запросе страницы используется откомпилированная сборка При изменении текста страницы код перекомпилируется Работает точно как ASP: измени, сохрани и запусти

Слайд 41
Описание слайда:
Обработка первого запроса

Слайд 42
Описание слайда:
Обработка последующих запросов

Слайд 43
Описание слайда:
Этапы обработки web-формы на сервере На сервере обработка ASP.NET web форм выполняется в несколько этапов. На каждом этапе инициируются разные события. Это позволяет выполнить специфические действия в ходе процесса обработки и выполнять требуемые действия.. Основными этапами процесса обработки ASP.NET страницы являются: Инициализация среды страницы Инициализация пользовательского кода Проверка данных (Validation) Обработка событий (Event handling) Автоматическое связывание с данными Очистка Эти этапы выполняются независимо для каждого web запроса.

Слайд 44
Описание слайда:
 Жизненный цикл страницы ASP.NET

Слайд 45
Описание слайда:
1. Инициализация среды страницы На этом этапе ASP.NET создает страницу (объект класса Page). Создаются все Элементы Управления, которые были описаны в .aspx web странице. Кроме этого, если страница вызывается не первый раз (т.е. выполнен обратная отправка - postback), то ASP.NET выполняет десериализацию информации состояния (view state) и применяет ее ко всем ЭУ. Инициируется событие Page.Init. Однако это событие редко обрабатывается web страницей, так как еще слишком рано выполнять инициализацию страницы, в связи с тем, что еще не созданы объекты ЭУ и информация о состоянии формы (view state) еще не загружена.

Слайд 46
Описание слайда:
2. Инициализация пользовательского кода Инициируется событие Page.Load и большинство страниц обрабатывают это событие для выполнения требуемого задания начального состояния (такого, как заполнения динамических текстов или конфигурирования ЭУ). Событие Page.Load возникает всегда (и при первом обращении и при обратных вызовах). Программа может просто определить какой вызов с помощью свойства страницы IsPostBack (если true – повторный, иначе первый). При первом вызове (!IsPostBack == true) необходимо загрузить начальные данные из внешних источников. При повторных вызовах начальные данные берутся из состояния формы (view state) и применяются автоматически. Пример: if (!IsPostBack) { // здесь можно инициализировать ЭУ в первый раз. FirstName.Text = "Enter your name here"; }

Слайд 47
Описание слайда:
Следует помнить, что во view state сохраняются все измененные свойства, в том числе и заданные в обработчике события Page.Load. Для уменьшения размера состояния формы (view state) следует избегать инициализацию ЭУ в коде. Вместо этого лучше устанавливать свойства в атрибутах тега ЭУ. Заданные таким образом свойства не сохраняются в view state. Можно также отменить использование view state задав свойству EnableViewState значение false и инициализировать ЭУ каждый раз при обработке события Page.Load (как при первом вызове, так и при повторных вызовах).

Слайд 48
Описание слайда:
3. Проверка данных (Validation) ASP.NET включает элементы управления, выполняющие проверку введенных данных (валидаторы), которые могут автоматически проверять данные введенные пользователем в других ЭУ и показывать ошибки. Специальный метод IsValid валидаторов вызываются до обработки любых других событий. Валидаторы выполняются не в ответ на какие-либо события. Вместо этого достаточно вызвать метод Page.IsValid в любом обработчике события. Далее будут подробно рассматриваться ЭУ для выполнения проверки (Validation Controls).

Слайд 49
Описание слайда:
4. Обработка событий (Event handling) К началу данного этапа объект страницы (page) уже загружен и инициализирован. Теперь ASP.NET будет инициировать все события, которые произошли после последнего повторного вызова. В основном имеются события двух типов: События требующие немедленного ответа: к ним относятся нажатие на submit button или щелчок других кнопок image region или ссылок (link) в сложных ЭУ (rich web control), которые запускают обратный вызов с помощью JavaScript функции __doPostBack(). События об изменениях: к ним относятся изменения выбора в списках или текста в текстовых поялх. Эти события немедленно инициируют обратный вызов, если свойству AutoPostBack задано значение true. Иначе они записываются и обрабатываются при следующем обратном вызове. Как можно увидеть, модель событий ASP.NET значительно отличается от обработки событий в обычной Windows среде. В Windows приложении, состояние формы хранится в ОП и приложение выполняется непрерывно. Это означает, что программа может реагировать на события немедленно. В ASP.NET все возникает на этапах обработки и в результате этого события иногда обрабатываются пакетом.

Слайд 50
Описание слайда:
Например, если на странице расположена кнопка submit и text box, который не выполняет автоматически обратную отправку. И пользователь изменил текст в text box и нажал кнопку submit. Тогда на сервере ASP.NET будет инициировать следующие по порядку события: Page.Init Page.Load TextBox.TextChanged Button.Click Page.PreRender Page.Unload Знание порядка этих событий является важным при создании ASP.NET приложений. Существует положительное и отрицательное в данной управляемой событиями модели: Положительное: такая, основанная на событиях модель предоставляет высокий уровень абстракции, что делает код свободным шаблонного кода поддержания состояния. Отрицательное: легко забыть, что модель событий является просто имитацией. Это может привести к неверным предположениям (например, ожиданию сохранения значений полей класса) или к проектным решениям, которые не будут хорошо работать (например, хранение большого количества данных во view state).

Слайд 51
Описание слайда:
7. Очистка (Cleaning) В конце жизненного цикла страница формируется (выполняется рендеринг - rendered to) HTML код. После этого начинается реальная очистка и инициируется событие Page.Unload. В этот момент объекты страницы все еще доступны, но конечный HTML код уже сформирован и не может быть изменен. .NET Framework имеет сервисы автоматической сборки мусора для освобождения памяти, связанной с объектами, ссылки на которые не хранятся. Когда сборщик мусора удаляет объекты страницы, инициируется событие Page.Disposed.

Слайд 52
Описание слайда:
Страница как контейнер ЭУ Web страница содержит коллекцию Controls, в которую включены все ЭУ верхнего уровня, которые расположены на странице. Если на странице расположены ЭУ контейнеры, которые содержат другие ЭУ, то они также имеют коллекцию Controls. При выполнении рендеринга (формирования HTML кода) страница вызывает выполнение рендеринга у всех ЭУ, входящих в коллекцию Controls. В свою очередь эти ЭУ могут содержать другие дочерние ЭУ, которые также выполняют процесс рендеринга. После того, как все ЭУ выполнят рендеринг (сформируют требуемый им HTML код), страница собирает сформированный код в один файл. Данный процесс может показаться немного сложным, но имеет большую гибкость и возможности в создании сложных интерфейсов. Когда ASP.NET первоначально создает страницу (в ответ на HTTP запрос) выполняется обработка .aspx файла. Для каждого элемента страницы, у которого имеется атрибут «runat="server"», создается объект ЭУ, который добавляется в качестве к дочерним ЭУ данной страницы. Все элементы управления добавляются к коллекции Page.Controls.

Слайд 53
Описание слайда:
Класс Page Web страница также реализуется в виде объекта специального класса Page, из пространства имен System.Web.UI. Все классы code-behind явно наследуются от базового класса System.Web.UI.Page. Это означает, что каждая создаваемая web form имеет большое количество функциональности. Наследование от класса Page предоставляет следующие очень полезные свойства : Session (ссылка на объект класса Session) Application (ссылка на объект класса Application) Cache (ссылка на объект класса Cache) Request Response Server User Trace Метод FindControl() свойство IsPostBack Controls

Слайд 54
Описание слайда:
Поддержка состояния формы между ее вызовами

Слайд 55
Описание слайда:
Поддержка состояния с помощью обратных отправок По умолчанию, ASP.NET поддерживает состояние всех серверных эл.управления в ходе обратной отправки (postback). Можно использовать методы method="post" or method="get". Серверные эл. управления автоматически заполняются при обратной отправке (postback). Состояние элементов не хранится на сервере. Работает со всеми браузерами.

Слайд 56
Описание слайда:
Обратные отправки (Postbacks) Обратная отправка (postback) возникает, когда страница генерирует HTML форму, значения которой отправляются назад, той же самой странице. Общепринятая технология для обработки данных формы. В ASP и других основанных на сервере технологиях, состояние страницы теряется при обратной отправке, если не писать специальный код для поддержки состояния. Это трудоемко, скучно и приводит к ошибкам

Слайд 57
Описание слайда:
Поддержка состояния в скрытом поле ViewState ASP.NET использует скрытое поле ViewState для хранения свойств ЭУ. В это поле можно добавлять свои данные. Можно в страницу добавить свое скрытые поля и хранить в них данные приложения. Элементы Cookies хранят значения на компьютере пользователя и передаются вместе с запросом на страницы сервера. Строки запроса Query strings хранят значения в URL адресе, который виден пользователю.

Слайд 58
Описание слайда:
Сохранение состояния <html> <head> <title>Hello World Page</title> </head> <body> <form name="form1" method="post" action="WebForm1.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTE2MjY5MTY1NQ9kFgICAw9kFgICAQ8PFgIeBFRleHQFDEhlbGxvIFdvcmxkIWRkZPsbiNOyNAufEt7OvNIbVYcGWHqf" /> </div> <div> <input type="submit" name="Button1" value="Button" id="Button1" /> <span id="lbl">Hello, world</span> </div> </form> </body> </html>


Скачать презентацию на тему Основы технологии ASP.Net Web Forms. Обзор платформы Microsoft .Net можно ниже:

Похожие презентации