Кратко съдържание



страница26/33
Дата23.07.2016
Размер10.53 Mb.
#1889
1   ...   22   23   24   25   26   27   28   29   ...   33

Използвана литература


  1. Светлин Наков, Графичен потребителски интерфейс с Windows Forms – http://www.nakov.com/dotnet/lectures/Lecture-14-Windows-Forms-v1.0.ppt

  2. MSDN Library - http://msdn.microsoft.com

  3. Microsoft Windows Forms QuickStarts Tutorial –
    http://www.csharpfriends.com/quickstart/winforms/doc/default.aspx

  4. Marj Rempel, Kenneth S. Lind, Marjorie Rempel, MCAD/MCSD Visual C# .NET Certification All-in-One Exam Guide, McGraw-Hill, 2002, ISBN 0072224436

  5. MSDN Library, Event Handling in Windows Forms – http://msdn.
    microsoft.com/library/en-us/vbcon/html/vbconeventhandling.asp


  6. Threading in Windows Forms –
    http://www.yoda.arachsys.com/csharp/threads/winforms.shtml

  7. J. Fosler, Windows Forms Painting: Best Practices –
    http://www.martnet.com/~jfosler/articles/WindowsFormsPainting.htm



Глава 16. Изграждане на уеб приложения с ASP.NET

Автори


Михаил Стойнов

Рослан Борисов

Стефан Добрев

Деян Варчев

Иван Митев

Христо Дешев


Необходими знания


  • Базови познания за езика C#

  • Базови познания за архитектурата на .NET Framework

  • Базови познания по Интернет технологии

  • HTTP (Hyper Text Transfer Protocol)

  • HTML (Hyper Text Markup Language)

  • Познания за архитектурата на уеб базираните приложения

Съдържание


  • Въведение

  • Уеб форми

  • Контроли

  • Изпълним код на уеб форми и контроли (code-behind)

  • Събития

  • Проследяване и дебъгване

  • Валидация на данни

  • Работа с бази от данни

  • Управление на състоянието

  • Оптимизация, конфигурация и разгръщане

  • Сигурност

В тази тема ...


В настоящата тема ще разгледаме разработката на уеб приложения с ASP.NET. В началото ще запознаем читателя с уеб формите и техните основни директиви, атрибути и тагове. Ще разгледаме видовете уеб контроли, които се използват при изграждане на уеб приложения, и по-важните от тях. Ще разгледаме концепцията за отделяне на кода от потребителския интер­фейс (code-behind), ще обясним програмния модел на ASP.NET и работата със събития. След това ще демонстрираме как да работим с данни, извлечени от релационна база от данни. Ще обърнем специално внимание на принципите на свързване на контроли с данни (data binding) и ще обясним как да свързваме списъчни и итериращи контроли. Ще разгледаме как можем да управля­ваме вътрешното състоя­ние на уеб приложението: работа със сесии и cookies, достъп до контекста на приложението и технологията ViewState. Ще покажем как да валидира­ме данни, въведени от потреби­теля, чрез различните валидатори. Ще обясним концепцията за потребителските контроли като метод за преиз­ползване на части от приложението. Ще се научим как да проследя­ваме и дебъгваме уеб приложения. Ще покажем как се оптимизират, конфигу­рират и разгръщат ASP.NET уеб приложения (кеширане, настрой­ки и deployment). Ще обърнем специално внимание и на сигурността при уеб приложенията.

Въведение


ASP.NET е библиотека за разработка на уеб приложения и уеб услуги, стандартна част от .NET Framework. Тя дава програмен модел и съвкуп­ност от технологии, чрез които можем да изграждаме сложни уеб прило­жения.

Изпълнение на ASP.NET уеб приложение


Уеб приложенията използват модела заявка-отговор (request-response), както е показано на фигурата:



  1. Потребителят въвежда в браузъра адрес на страница (URL). Браузърът изпраща HTTP заявка (request) към уеб сървъра.

  2. Сървърът получава заявката и я обработва. В случая с ASP.NET, IIS намира процес, който може да обработи дадената заявка.

  3. Резултатът от вече обработената заявка се изпраща обратно към потребителя/клиента под формата на HTTP отговор (response).

  4. Браузърът показва получения отговор като уеб страница.

Преглед на технологията ASP.NET


ASP.NET е програмна платформа за разработка на уеб приложения, предо­ставена от .NET Framework. Тя предлага съвкупност от класове, които работят съвместно, за да обслужват HTTP заявки. Също като класическите ASP (Active Server Pages), ASP.NET се изпълнява на уеб сървър и предо­ставя възможност за разработка на интерактивни, динамични, персонали­зирани уеб сайтове, както и на уеб базирани приложения. АSP.NET е също и платформа за разработка и използване на уеб услуги.

ASP.NET и .NET Framewrok


На фигурата са показани основните компоненти на .NET Framework, част от които е библиотеката ASP.NET.


Разлики между ASP и ASP.NET


Разликите между ASP и АSP.NET са значителни. АSP.NET предлага ново ниво на абстракция за разработка на уеб приложения. Ключова характе­ристика на ASP.NET е възможността за разделяне на кода описващ дизайна от кода, реализиращ логиката на приложенията. ASP.NET прило­женията могат да бъдат разработвани с помощта на всички езици за програмиране, които се компилират до MSIL код (C#, VB.NET, J#, Managed C++ и много други).

Фундаменти на ASP.NET


Основният компонент на ASP.NET е уеб формата – абстракция на HTML страницата, която интернет потребителите виждат в браузъра си. Зами­сълът на създателите на ASP.NET е работата с уеб формите да бъде интуи­тивна и максимално улеснена, както е при Windows Forms формите. ASP.NET предлага едно високо ниво на абстракция, предоставяйки ни богат избор от уеб контроли, подобни на тези в Windows Forms, и нама­лява нуждата програмиста да работи с чист HTML код.

Всяко ASP.NET приложение се изгражда от една или повече уеб форми, които могат да взаимодействат помежду си, създавайки интерактивна система.


Как работи ASP.NET?


Традиционните уеб страници могат да изпълняват код на клиента, с който извършват сравнително прости операции.

ASP.NET уеб формите могат да изпълняват и код от страна на сървъра (server-side code). С него те генерират HTML код, който да се върне като отговор на заявката. За целта могат да се извършват обработки, изискващи достъп до бази от данни и до ресурсите на самия сървър, генериращи допълнителни уеб форми и други.


Всяка уеб форма в крайна сметка се трансформира в HTML код, пригоден за типа на клиентския браузър. Това позволява улеснена разработка на уеб форми. Те работят практически върху всяко устройство, което разпо­лага с интернет свързаност и уеб браузър.


Разделяне на визуализация от бизнес логика


Един от основните проблеми на класическите ASP беше смесването на HTML с бизнес логика. Това правеше страницата труд­на за разбиране, поддръжка и дебъгване. Файловете ставаха големи и сложни и се забавяше процеса на разработка на приложението. Една от основните архитектурни цели на АSP.NET e справянето с този проблем. Тъй като реализацията на потребителския интерфейс и на бизнес логика­ са до голяма степен, две независими задачи, ASP.NET предоставя мо­дел за разработка, при който те са физически разделени в отделни файлове.

Програмирането за клиентския интерфейс (UI) се разделя на две части:



  • За визуализация се използва HTML-подобен код, записан във файл с разширение .aspx.

  • Бизнес логиката се дефинира в отделен файл (с разширение .cs за C# или .vb за Visual Basic .NET), съдържащ конкретната имплемен­тация на определен програмен език.

Файлът, съдържащ бизнес логиката, се нарича "Изпълним код на уеб формата" (Code-behind).

Зад всяка уеб форма стои богатият обектен модел на .NET Framework и тя се компилира до клас в асемблито на проекта ни.

Класът, генериран от .aspx файл, се непряк наследник на Page класа. Съществува междинен клас в йерархията, който е за изпълнимия код (code-behind class). В него можем лесно да добавяме методи, обработка на събития и др.

Чрез "изпълнимия код" представянето е разделено от логиката. Това улеснява значително поддръжката на .aspx страниците.


Компоненти на ASP.NET


Ето кои са основните компоненти, от които се изграждат уеб приложенията, базирани на ASP.NET:

Web Forms – описват интерфейса за ASP.NET приложение.

Code-behind класове – асоциират се с уеб форми и контроли и съ­дър­жат server-side код.

Web.config – файл, съдържащ конфигурацията на ASP.NET прило­же­нието.

Machine.config – файл с глобални настройки за уеб сървъра.

Global.asax – файл, съдържащ код за прихващане на събития на ниво приложение (application level events).

Съществуват и други компоненти като Http Modules, Http Handlers и други, но на тях няма да се спираме.


Пример за уеб приложение


Ще създадем примерно уеб приложение чрез Visual Studio.NET, за да разгледаме структурата на директориите и файловете му. Отваряме Visual Studio.NET и създаваме нов уеб проект с име Demo-1-ExampleOfWebApplication:

Отляво е кутията с инструменти (toolbox), където са контролите. Нека добавим текстово поле и бутон, като привлачим двете контроли върху формата.



Можем да разгледаме кода на страницата (code-behind класа) като върху формата натиснем [F7].



Можем да компилираме и стартираме приложението с [Ctrl+F5].




ASP.NET Web Application проекти във VS.NET


При създаване на проект за .NET уеб приложение (ASP.NET Web Application) във Visual Studio .NET, се създават две директории.

В едната (по подразбиране това е \My Documents\Visual Studio Projects) се намира solution файла (.sln). Той описва проектите, участ­ващи в приложението. Обикновено в поддиректории се съхраняват оста­налите проекти от solution файла.

Втората директория е с идентично име и се създава в уеб-достъпна папка, като най-често това е папката c:\inetpub\wwwroot. Тя съдържа файлове­те, които са нужни на уеб приложението: .aspx страниците, техните code-behind файлове и файловете Web.config и Global.asax. Когато се компи­лира проекта, се създава съответно асембли в директорията bin.

Забележка: Директорията c:\inetpub\wwwroot е коренната (root) вирту­ална директория по подразбиране на уеб сървъра Internet Information Server (IIS), с който по подразбиране работи Visual Studio.NET за разгръ­щане на приложенията си.

Виртуална директория е такава, която се вижда през протокола HTTP, например:

Ако отваряме сървъра локално, можем да го извикаме с адреса http://localhost/.

Като направим директорията c:\inetpub\wwwroot\Lecture-15-ASP.NET-and-Web-Applications\Demo-1-ExampleOfWebApplication, тя ще се вижда през протокола HTTP като виртуалната директория:



http://localhost/Lecture-15-ASP.NET-and-Web-Applications/Demo-1-ExampleOfWebApplication/.

Модел на изпълнение на ASP.NET


Моделът на изпълнение (execution model) на ASP.NET е следният:

  1. Клиентският браузър изпраща HTTP GET заявка на сървъра.

  2. Сървърът намира за коя страница е заявката и започва да я изпъл­нява.

  3. ASP.NET парсерът интерпретира нейния сорс код.

  4. Ако кодът не е бил компилиран в асембли, ASP.NET извиква компи­латора.

  5. Средата за изпълнение (CLR) зарежда в паметта и изпълнява Microsoft Intermediate Language (MSIL) кода.

  6. Страницата се изпълнява и генерира HTML код. Сървърът връща този резултат на клиента като HTTP отговор.





Сподели с приятели:
1   ...   22   23   24   25   26   27   28   29   ...   33




©obuch.info 2024
отнасят до администрацията

    Начална страница