Слайд 1ASP.NET. - это часть технологии .NET, используемая для написания мощных
клиент-серверных интернет приложений. Она позволяет создавать динамические страницы HTML. ASP.NET
возникла в результате объединения более старой технологии ASP (активные серверные страницы) и .NET Framework. Она содержит множество готовых элементов управления, используя которые можно быстро создавать интерактивные web-сайты. Вы также можете использовать сервисы, предоставляемые другими сайтами, прозрачно для пользователей вашего сайта.
Статическая страница содержит код на языке гипертекстовой разметки HTML.
То есть при просмотре в браузере она будет нести в себе точно ту же информацию, что была в нее записана в момент создания, и переданные пользователем данные не могут быть использованы для модификации содержимого отображаемых ему страниц: он сможет увидеть только то, что предварительно было записано в конечный набор файлов.
Динамическими принято называть web-страницы, которые перед отправкой клиенту проходят цикл обработки на сервере. В самом простом случае это может быть некоторая программа, которая модифицирует запрашиваемые клиентом статические страницы, используя параметры полученного запроса и некоторое хранилище данных. Динамические страницы могут подстраиваться под конкретного пользователя, а также реагировать на его действия в браузере. Каким же образом? Для этого придумано множество технологий. Например, того, чтобы идентифицировать пользователя и сохранить его настройки для данного сайта, применяются файлы-cookies.
Слайд 2Существуют языки, способные динамически изменять содержимое веб-страницы. С одной стороны,
это языки скриптов, выполняющиеся непосредственно у клиента. Примеры скриптовых языков
- JavaScript и VBScript. Скрипты на этих языках встроены в код HTML, который сервер посылает браузеру. Сценарии, выполняемые на стороне клиента, выделяются тегами . Браузер интерпретирует этот код и показывает пользователю результат. Сам код можно просмотреть через View Source браузера. Естественно, эти программы не могут быть большими.
Например, если нужно выполнить поиск в базе данных, мы не может отправить пользователю все ее содержимое. Но скрипты могут проверить правильность запроса, введенного в форму, тогда не придется перезагружать сервер обработкой неправильных запросов.
Динамическая веб-страница должна быть создана «на лету» программой, исполняющейся на интернет-сервере. Широко применяются механизм шлюзов CGI(Common Gateway Interface). Вначале пользователь получает статическую страницу с формой. Тег FORM имеет атрибут ACTION. Именно он задает адрес (URL) исполняемого приложения. На сервере находятся исполняемые файлы программ, написанных, например на C/С++, которые по протоколу HTTP принимают данные из входного потока или из переменных окружения и записывают в стандартный выходной поток готовую страницу.
Скриптовый язык, исполняющиеся на стороне сервера – php.
Слайд 3Приложения ASP.NET компилируются на язык MSIL точно также, как и
другие приложения .NET. Это означает, что у нас появляется возможность
описывать их на тех же языках программирования, что и остальные приложения .NET.
Другим огромным преимуществом ASP.NET является использование управляющих элементов на стороне сервера. В ASP также имелась возможность включать управляющие элементы HTML (такие, как кнопки и другие элементы форм) в создаваемые страницы, однако делать это приходилось вручную, а реагировать на любой ввод пользователя в такие элементы (например, пользователь щелкнул мышью на кнопке) можно было либо с помощью выполнения сценария JavaScript на клиентской стороне, либо повторно отправляя страницу серверу.
ASP.NET использует технологию доступа к данным ADO.NET, которая обеспечивает единый интерфейс для доступа к базам данных SQL Server и файлам XML. Кроме того, усиленная модель безопасности позволяет обеспечивать защиту клиента и сервера от несанкционированного доступа.
Слайд 4ASP.NET - один из компонентов .NET Framework. Основные черты этой
технологии:
Общеязыковая исполнительная среда CLR
Библиотека классов .NET Framework
Языки.NET(C#, VB.NET,
J# и другие)
ADO.NET
ASP.NET
Web-службы
Промежуточный язык MSIL (Microsoft Intermediate Language). Это ассемблер для среды выполнения CLR.
Слайд 5Обычно приложение ASP.NET можно разбить на набор компонентов:
· Web-формы (страницы
.aspx). Обеспечивают пользовательский интерфейс Web-приложения;
· страницы code-behind - программный код
для Web-форм;
· файлы конфигурации. Для каждого Web-приложения предусмотрен файл Web.config, для всего Web-сервера - machine.config.
· файл global.asax - код для реагирования на события уровня приложения, которые генерируются ASP.NET.
· ссылки на Web-службы - они позволяют Web-приложениям отправлять и принимать данные от XML Web-служб.
· совместимость с базами данных - позволяют Web-приложениям передавать данные к источникам и от них;
· кэширование - позволяет Web-приложениям возвращать Web-формы и данные более быстро после первого запроса.
Слайд 6Обычный механизм работы приложения ASP.NET выглядит следующим образом:
· броузер клиента
генерирует запрос HTTP GET;
· парсер ASP.NET интерпретирует код источника;
· если
код еще не откомпилирован в DLL, ASP.NET вызывает компилятор;
· среда выполнения выполняет код на языке MSIL и возвращает скомпилированный код HTML в броузер пользователю.
Слайд 7В окне Solution Explorer (по умолчанию в верхней правой части
экрана) можно просмотреть набор проектов, которые относятся к вашему решению,
набор файлов в вашем проекте, а также выполнить с ними различные действия (перетаскиванием или через контекстное меню).
Слайд 8Если рассмотреть страницу ASP.NET с точки зрения объектной модели, то
каждая страница является классом, который в свою очередь является наследником
базового класса Page. С другой стороны в структуре проекта страница ASP.NET представляется двумя файлами – файлом разметки (.aspx) и файлом с программным кодом (.cs или .vb).
Типы файлов ASP.NET
aspx – Web-страницы ASP.NET
ascx – средства управления
asmx – Web-службы
web.config – конфигурационный файлы
global.asax – глобальный файл приложения
vb, cs – файлы раздельного кода
\bin – каталог сборок приложения
Слайд 9Toolbox. В нем для приложений ASP.NET 2.0 предусмотрено 7 разделов:
·
HTML — стандартные элементы управления HTML (как серверные, так и
клиентские);
· Standard — серверные элементы управления, используемые в ASP.NET;
· Data - для создания подключений к источникам данных;
· Validation — элементы управления, относящиеся к проверке информации, вводимой пользователем;
· Navigation — специальные элементы управления, предназначенные для навигации по сайту;
· Login — элементы управления, которые используются для аутентификации пользователя на сайте;
· Web Parts — специальные элементы управления, которые используются для предоставления пользователю возможности настраивать Web-сайт "под себя".
Слайд 10Физически работа системы ASP.NET выглядит так:
пользователь обращается к Web-странице (по
умолчанию для нее в ASP.NET используется расширение .aspx);
среды выполнения определяет,
где находится программный код для этой страницы (сборка dll, представляющий код из страницы codebehind) и запускает сборку на выполнение;
промежуточный код на языке MSIL в сборке генерируется в обычный двоичный (native) код, который и выполняется;
в результате выполнения создается код HTML, который возвращается пользователю в броузер.
Слайд 11Одной из самых важных возможностей ASP.NET по сравнению с обычной
системой ASP является то, что программный код можно писать на
обычных языках программирования .NET — Visual Basic.NET, C#, J#, а не на скриптовых, таких, как VBScript и JScript. В результате в нашем распоряжении появляются все возможности обычных языков программирования. Кроме того, в обычном ASP программный код должен был размещаться вместе с разметкой HTML на Web-странице. В ASP.NET такая возможность также оставлена, но обычно код HTML теперь размещается на отдельной странице. В Solution Explorer страница HTML представлена в виде контейнера.
Работа с классами в ASP.NET
В проектах ASP.NET совершенно необязательно помещать весь программный код в страницы codebehind. Если есть вероятность, что код может потребоваться использовать одновременно на нескольких страницах, или код просто получается достаточно сложным, есть смысл поместить его в отдельный класс.
Первый способ — создать новый модуль класса непосредственно в проекте ASP.NET. Это проще всего сделать, щелкнув правой кнопкой мыши по строке проекта (самой верхней строке) в Solution Explorer, выбрав в контекстном меню Add New Item (Добавить новый элемент) и в предложенном списке выбрав Class.
Другой способ — создать новый проект Visual Studio .NET и воспользоваться шаблоном Class Library. Обычно такой способ выбирается тогда, когда создаваемый вами класс может потребоваться нескольким проектам ASP.NET одновременно.
Слайд 12Добавление ссылок на пользовательские классы .NET Framework, Web-службы и COM-компоненты
Очень
часто возникает необходимость использовать в вашем приложении ASP.NET программный код,
который был создан вами или другим разработчиком. При этом можно выделить три ситуации:
· в проект необходимо добавить код в виде сборки .NET;
· в проект необходимо добавить ссылку на Web-службу;
· в проект необходимо добавить ссылку на объект COM.
Для добавления ссылки на сборку .NET или COM-компонент необходимо щелкнуть правой кнопкой мыши по строке проекта в Solution Explorer и в контекстном меню выбрать Add Reference.
Слайд 13Если нужно добавить ссылку на Web-службу, то придется использовать команду
Add Web Reference из контекстного меню для проекта. В открывшемся
окне необходимо будет ввести адрес URL для Web-службы
Слайд 14Пространства имен библиотеки классов
Visual Studio.NET и VWD по умолчанию включают
в страницу на C# наиболее часто используемые пространства имен. На
страницу aspx импортировать эти пространства имен не требуется.
using System; using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
Например, в пространстве имен System.Web.UI находится класс Page, без которого не может существовать ни одна страница ASP.NET, в System.Web - HttpRequest и HttpResponse.