Файл: "Порядок работы ASP.Net web-приложения.".pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 325

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

World Wide Web – глобальная сеть – в настоящий период охватывает несметное число страниц, на которых расположена разнообразный материал. Люди приобретают доступ к данной сведениям через применение технологии Интернет. Для навигации в WWW применяются особые программы – интернет-браузеры, которые значительно упрощают путешествие по безграничным просторам WWW. Весь материал в интернет-браузере отражается в виде интернет-страниц, которые считаются главным компонентом байтов WWW.

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

Цель курсовой работы – изучить порядок работы ASP.Net web-приложения. В рамках курсовой работы предполагается разработка программного комплекса для ведения базы данных товаров и предприятий.

Объект работы – ASP.Net.

Предмет работы – порядок работы ASP.Net web-приложения.

Цель, объект и предмет определяют следующие задачи:

  • обзор и изучение литературы по исследуемой проблеме;
  • ознакомление с технологией ASP;
  • выделение критериев сравнения технологий;
  • применение разработанной методики при решении конкретных прикладных задач.

Теоретические основы ASP.Net

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

  • протокол HTTP не позволяет сохранять состояние страницы, то есть, как правило, на событие (клик по ссылке или нажатие на кнопку) браузер реагирует отправкой запроса серверу. Когда с сервера приходит ответ, всё содержимое страницы полностью заменяется и замедляет работу;
  • необходимо знание языков гипертекста;
  • умение писать скрипт на одном или нескольких языках;
  • знание деталей процесса обмена информацией между клиентом и сервером;
  • учет особенностей платформы клиента и типа его браузера. [8]

Инновационная технология ASP.NET призвана покончить с таким положением вещей. С помощью этой технологии современные браузеры, поддерживающие стандарты W3C DOM, позволяют вывести web-приложение на новый уровень. Теперь эти приложения стали распределенными, т.е. часть логики находится на стороне клиента, а часть – на стороне сервера. Таким образом, после отправки запроса и получения ответа страница не заменятся полностью, а обновляется только ее часть, с теми данными, в которых клиент заинтересован в конкретный момент. [7]

Microsoft.NET Framework – это платформа для создания, развертывания и запуска web-сервисов и приложений, состоящая из трех основных частей – общеязыковой среды выполнения (common language runtime), иерархического множества унифицированных библиотек классов и компонентной версии Active Server Pages (ASP). Основная идея ASP заключается в создании Web-страниц с внедренными в них фрагментами кода на скриптовых языках.

Новейшей версией технологии ASP является ASP.NET, ключевая в архитектуре Microsoft .NET Framework. Основное отличие этой технологии от ASP с точки зрения архитектуры приложений заключается в том, что код, присутствующий на web-странице, не интерпретируется, а компилируется и кэшируется, что, естественно, способствует повышению производительности приложений. В основу ASP.NET положена работа в среде CLR, что позволяет создавать Web-приложения на любом языке, поддерживаемом платформой .NET, например, таких как Visual Basic, JavaScript или С#. Это немаловажное преимущество, так как теперь возможности одного языка могут использоваться в другом языке без необходимости написания дополнительного кода. Таким образом, достигается высокая степень повторного использования кода. [3]

Независимо от языка программирования, использованного при создании приложения ASP, его код компилируется в код на промежуточном языке IL. Во время компиляции проверяется синтаксическая корректность исходного текста. Скомпилированный в промежуточный язык код выполняется быстрее, и он будет таким же независимо от языка, который мы используем. Компиляция происходит на сервере в момент первого обращения пользователя к странице. Если программист изменил текст страницы, программа перекомпилируется автоматически. [5]

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

ASP.NET является объектно-ориентированной моделью разработки Web-приложений. Сами ASP.NET-страницы являются объектами классов. Можно создавать программный код с возможностью его повторного использования классами. Эти классы можно использовать для создания экземпляров объектов. [3]


Объектная модель — это иерархия объектов, предоставляющих разработчикам определенные возможности. В ASP.NET используется новая структура Web-страниц, которая отличается от структуры ASP-страниц и обеспечивает поддержку объектной модели для сохранения содержимого ASP.NET-страницы. Добавлен новый класс элементов управления — серверные элементы управления. Можно добавлять собственные комментарии и связывать эти данные с серверными элементами управления. Для оформления Web-страниц имеются наборы директив, которые предназначены для установки параметров. Например, параметры TraceContext и isEnabled позволяют, соответственно, включить и отключить механизм отслеживания Web-запросов.

Механизм ASP можно рассматривать как виртуальное устройство для генерации HTML-страниц. Оно работает на стороне сервера и создает клиентский HTML-код, опираясь на заданную вами (в файле типа .asp) смесь HTML-кода и скриптовых вставок. [1]

Главной заслугой технологии ASP была простота реализации динамически изменяющегося содержимого. Еще более ранние технологии разработки: CGI (Common Gateway Interface) и ISAPI (Internet Server Application Pro-gramming Interface) делали это путем больших затрат.

Код скриптовых вставок ASP написан на языке Microsoft Visual Basic Scripting Edition (VBScript), но в принципе он может быть написан и на Microsoft JScript. ASP тесно связана с технологией ActiveX Data Objects (ADO), которая еще недавно считалась прогрессивной для работы с источниками данных. [14]

Текст ASP-документа — это причудливая смесь кода, расположенного в блоках <% %>, и тегов HTML. Если в коде ASP-файла отсутствуют скриптовые вставки (блоки вида <% %>), то ядро ASP просто посылает клиенту HTML-текст, существующий в файле. Если они есть, то интерпретатор ASP создает и добавляет в указанные места HTML-документа HTML-текст, суть которого определяется логикой скрипта. В свое время такое решение было прогрессивным, но теперь оно выглядит неуклюжим. Вот пример самой простой скриптовой вставки на языке VBScript:

<html> <h3>Now is <%=Now%></h3> </html>[15]

Документ ASP обрабатывается на сервере в режиме интерпретатора линейно (сверху вниз). Код скриптовых вставок выполняется (интерпретируется) во время обработки документа на сервере и забывается после генерации выходного HTML-документа. В приведенном примере вставка будет заменена на строку текста и клиент увидит в окне браузера нечто вроде:

Now is 01.02.2008 9:27:46

Вставки содержат код, исполняемый на стороне сервера. Он реализует некоторую логику, заложенную разработчиком сайта. Например, код скрипта может обратиться к базе данных и вставить результат запроса в текст выходного HTML-документа, отправляемого клиенту.


Набор встроенных элементов управления ASP.NET достаточно обширен и разнообразен, чтобы с его помощью можно было реализовать любую необходимую функциональность Web-приложения. В их основе лежит компонентная модель ASP.NET, существенно упрощающая применение общих принципов объектно-ориентированного программирования. [13]

Функции существующих элементов управления можно расширять. Можно также создавать новые элементы управления путем объединения нескольких существующих элементов — такие составные элементы управления называются пользовательскими (user). Кроме того, в ASP.NET определен небольшой набор базовых классов, на основе которых можно создавать совершенно новые, так называемые специализированные (custom) элементы управления. [1]

Для отображения нестандартных элементов, входящих в состав web-страниц, браузеры используют специальные встроенные приложения. При этом для браузера Netscape эти приложения реализуются в виде динамических библиотек (.DLL), а в программе Internet Explorer, Mozila и Opera — в виде элементов управления ActiveX.

Нестандартные элементы управления расширяют инструментарий Web-разработчика. Они инкапсулируют ключевые элементы интерфейса и программной логики, благодаря чему их можно многократно использовать не только в одном приложении, но и в других проектах.

Рассмотрим 3 типа нестандартных элементов управления:

  • пользовательские элементы управления (user controls) — создаются с помощью графического интерфейса дизайнера Visual Studio .NET путем комбинирования существующих серверных и HTML-элементов управления; представляют собой функциональные блоки, инкапсулирующие некоторые возможности пользовательского интерфейса.
  • Пользовательский элемент управления хранится в файле, копию которого необходимо включать в каждый проект, использующий этот элемент управления;
  • составные элементы управления (composite или custom controls) — создаются из существующих серверных и HTML-элементов управления. Похожи на пользовательские, но в отличие от них создаются программно, поэтому могут быть скомпилированы в сборки (dll-файлы). Последние допустимо применять одновременно в нескольких приложениях и добавлять на панель Toolbox в Visual Studio .NET;
  • генерируемые элементы управления (rendered controls) — генерируются кодом в виде HTML-тэгов «с нуля», а не компонуются из существующих элементов управления. Подобно составным элементам управления, генерируемые элементы управления компилируются и их можно добавлять на панель Toolbox. Однако, создавая генерируемые элементы управления, приходится самостоятельно писать код для решения задач, которые в составных элементах управления автоматизированы.

Таблица 1

Синтаксис включения файлов с атрибутом SRC

Тип пути

Синтаксис

Пример

Относительный

SRC="путь\имя_файла"

SRC="Utilities\Test.asp"

Виртуальный

SRC="/путь/имя_файла"

SRC="/MyScripts/Digital.asp"

Виртуальный

SRC="\путь\имя_файла"

SRC="\RegApps\Process.asp"

Пример.

<!DOCTYPE HTML>

<html xmlns="http://schemas.microsoft.com/intellisense/html5">

<head><title>Покупка футболки</title>

<link href="../StyleSheet.css" rel="Stylesheet" type="text/css" />

<script type="text/jscript">

moveTo(0, 0);

// resizeTo(1000, 750);

var

count = 0, // Счетчик покупок

size =0 ,

//======== Перечень предлагаемых товаров

names = ["SpanchBob",

"Cheburashka",

"Dino",

"Smail",

"Tarakan",

"Blue",

"Matrica"

],

images = ["1.gif",

"2.png",

"3.png",

"4.png",

"5.png",

"6.jpg",

"7.jpg"

],

tsh = null,

products = {},

cr = null,

boughtItems = 0,

tshirts = [

{ name: "Black t-shirt", url: "black-tshirt.jpg" },

{ name: "White t-shirt", url: "white-tshirt.jpg" }

];

function product( name, price, url, xPos, yPos)

{

this.name = name

this.price = price

this.url = url

this.x = xPos

this.y = yPos

this.img = null

this.dragged = null

this.inrect = null

this.xOld = 0

this.yOld = 0

this.Draw = function ()

{

document.body.insertAdjacentHTML("beforeEnd",

"<img width=100 height=100 onmousedown=products[this.alt].SelectItem() onmousemove=products[this.alt].Move() onmouseup=products[this.alt].Stop() style='position:absolute; left:"

+ this.x + "px; top:" + this.y + "px;' src=../Images/Misc/" + this.url + " id=c" + ++count + " alt='" + this.name + "' />");

this.img = document.body.lastChild;

}

this.SelectItem = function()

{

this.xOld = event.x;

this.yOld = event.y;

this.dragged = event.srcElement; //объект, вызвавший событие

}

this.Move = function ()

{

var

x = event.x,

y = event.y;

if (this.dragged != null)

{

this.dragged.style.posLeft += x - this.xOld;

this.dragged.style.posTop += y - this.yOld;

};

this.xOld = x; this.yOld = y;

event.returnValue = false;

}

this.Stop = function ()

{

this.dragged = null;

if (this.xOld > 50 && this.xOld < 350 && this.yOld > 80 && this.yOld < 380)

{

this.inrect = true;

}

else { this.inrect = null; }

}

}

function tshirt(name, url)

{

this.name = name;

this.url = url;

this.img = null;

this.x = 50;

this.y = 80;

this.Draw = function ()

{

document.body.insertAdjacentHTML("beforeEnd",

"<img width=300 height=300 onmousedown=tsh.ChangeTshirt() style='position:absolute; left:"

+ this.x + "px; top:" + this.y + "px;' src=../Images/Misc/" + this.url + " id=c" + ++count + " alt='" + this.name + "' />");

this.img = document.body.lastChild;

}

this.ChangeTshirt = function ()

{

if (tsh.name == "White t-shirt")

{

tsh.name = tshirts[0].name;

tsh.img.src = "../Images/Misc/" + tshirts[0].url;

}

else

{

tsh.name = tshirts[1].name;

tsh.img.src = "../Images/Misc/" + tshirts[1].url;

}

}

}

function crate()

{

this.name = 'Basket';

this.url = 'Basket.gif';

this.img = null;

this.x = 900;

this.y = 150;

this.Draw = function ()

{

document.body.insertAdjacentHTML("beforeEnd",

"<img width=150 height=150 style='position:absolute; left:"