Asp использование компонентов и объектов


Содержание

Серверные сценарии. ASP. Основные конструкции и объекты

Читайте также:

  1. A) Основные термины и определения
  2. Borland C и его основные режимы с характерными окнами
  3. D. Основные принципы.
  4. I. Основные права граждан
  5. I. Основные правила и принципы переноса слов
  6. II ОСНОВНЫЕ ПРАВИЛА МЕР БЕЗОПАСНОСТИ
  7. II. Инфинитивные конструкции
  8. II. Основные понятия
  9. II. Причастные конструкции
  10. II.3.3. Основные направления денежно-кредитной политики
  11. III. Основные задачи и функции поисково-спасательных формирований ПСС МЧС России.
  12. III.2. Основные методы и критерии разрешения педагогических конфликтов

Active Server Pages — это среда программирования, которая обеспечивает возможность комбинирования HTML, скриптов и компонент для создания динамических Web-приложений. Возможность встраивания в Web-страницы скриптов (кода, написанного на языке программирования, например, VBScript или JScript) позволяет логичным образом объединить оформление с данными, полученными из различных источников, например, из БД.

ASP-код, который нужно выполнить на сервере, размещается внутри специальных тегов . Так как данный код обрабатывается на сервере, он не доступен пользователю. Сам код может быть написан с использованием Visual Basic Scripting Edition (VBScript) или JScript (JavaScript). Технология ASP позволяет использовать и другие языки программирования.

VBScript не является полнофункциональным языком программирования и использования встроенных в него средств явно недостаточно. Поэтому в ASP-страницах используются специальные объекты и компоненты ActiveX.

· Объект Application позволяет создавать переменные, доступные всем пользователям Web-приложения.

· Объект Session позволяет сохранять данные, связанные с отдельным пользователем.

· Объект Request предоставляет параметры CGI-запроса, отправленные методом POST или GET.

· Объект Response предоставляет методы для добавления информации, а также для формирования заголовков страницы ответа Web-сервера.

· Объект Server содержит множество различных методов, одним из которых является метод CreateObject, позволяющий создавать экземпляры компонент ActiveX.

В отличие от встроенных ASP-объектов, ASP-компоненты явно необходимо создавать в коде скрипта. Существует огромное количество ActiveX-компонент, которые можно использовать в ASP-страницах.

Следует уделить особое внимание объектам ADO (ActiveX Data Objects), которые представляют собой мощные интегрированные средства для создания приложений для работы с БД. Компоненты ADO обеспечивают быстрый и удобный интерфейс к БД на самом высоком уровне, при этом сохраняется переносимость разрабатываемых приложений для работы с другими БД. Использование компонент ADO значительно упрощает работу программиста, ему остается лишь правильно составить SQL-запросы к БД и позаботиться о выводе результатов.

html code1 html code2

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix (такие, как HP-UX, Solaris и OpenBSD), Microsoft Windows, Mac OS X, RISC OS, и многих других.

Одним из значительных преимуществ PHP является поддержка широкого круга баз данных.

Внедрение зависимостей

Инверсия управления

В небольших приложениях на ASP.NET MVC мы относительно легко можем заменить одни классы на другие, вместо одного контекста данных использовать другой. Однако в крупных приложениях это уже будет проблематично сделать, особенно если у нас десятки контроллеров с сотней методов. В этой ситуации нам на помощь может прийти такой механизм как внедрение зависимостей

Рассмотрим простой пример. Допустим, у нас есть некая модель Book:

И пусть у нас определен контекст данных и репозиторий для управления объектами данной модели:

Репозиторий содержит ссылку на контекст данных и с его помощью управляет моделями, например, добавляет в бд и т.д. Теперь рассмотрим использование репозитория в контроллере:

Контроллер содержит ссылку на BookRepository и в данном случае он зависит от BookRepository. А сам объект BookRepository является зависимостью.

Контроллер ссылается на конкретную реализацию репозитория, поэтому между ними существует жесткая связь (tight coupling). На первый взгляд ничего плохого здесь нет, но, например, у меня изменилась схема подключения к базе данных: вместо MS SQL Servera я решил использовать MongoDB или MySql. Кроме того, может потребоваться динамически менять один класс на другой.

В данном случае жесткая связь привязывает контроллер к конкретной реализации репозитория. Такой код по мере расширения приложения сложнее поддерживать и сложнее тестировать. Поэтому рекомендуется уходить от использования жесткосвязанных компонентов к слабосвязанным. Для этого определим новый интерфейс IRepository и изменим класс репозитория:

Параллельно с этим я могу определить и другой класс репозитория, например, для использования MySql:

И теперь мы можем избавить контроллер от жесткой зависимости от компонента:


Теперь контроллер ничего не знает и не зависит от конкретной реализации репозитория. Теперь его создание выносится из класса контроллера во вне. Подобный процесс еще называется инверсией управления (inversion of control (IoC))

Технологии ASP (стр. 1 из 3)

Список используемых сокращений………………………………………..2

1. Общие сведения о технологиях ASP…………………..………………..5

1.1 Принципы функционирования. 6

1.2 Используемые средства для программирования…….……………….7

1.3. Модель Active Server Pages…….…………………………. ………….8

2. История технологий ASP…………………………………….…. 9

3. Общие сведения о технологиях ASP.NET……………………………..13

3.1 Преимущества ASP.NET перед ASP……………………….…………13

3.2 Процесс создание web-сайта на платформе ASP.NET…….…..….…14

3.3 Использование дополнительных средств………….…………………15

Список используемых сокращений

1). ASP — ActiveServerPage

2). CGI — CommonGatewayInterface

3). ISAPI — Internet Server Application Programming Interface

4). HTML — HypertextMarkupLanguage

5). COM -ComponentObjectModel

6). ADO — ActiveX Data Objects

7). MTS — Microsoft Transaction Server

8). IIS — Internet Information Server

9). MMC — Microsoft Management Console

10). RDO — Remote Data Objects

11). DAO — Data Access Objects

12). FPSE — FrontPage Server Extensions

13). NGWS — Next Generation Web Services


14). CLR — Common Language Runtime

15). CMS — Content Management Software или Content Management System

Существует два способа создания активного сервера Web на базе Microsoft Internet Information Server — с применением программ расширения CGI или ISAPI либо с помощью активных серверных страниц ASP.

Первый способ предполагает составление достаточно сложных программ на языке C++ или использование интерпретируемых языков наподобие Perl. Программы расширения сервера Web представляют собой обычные приложения, исполняемые на компьютере сервера Web. Они могут обращаться к базам данных таким же образом, как и обычные автономные приложения.

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

Что же касается активных серверных страниц ASP, то они значительно проще, хотя позволяют решать те же самые задачи, что и программные расширения сервера Web. Страницы ASP представляют собой текстовые файлы с конструкциями языка HTML и сценариями, составленными на таких языках программирования, как JScript и VB Script. Фактически, если пользователь уже владеет этими языками программирования, изучение технологии ASP пройдет очень быстро.

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

Cценарии, расположенные в страницах ASP, могут быть серверными и клиентскими. Серверные сценарии выделяются специальным образом и исполняются на сервере, в то время как клиентские сценарии работают на компьютере пользователя под управлением браузера, например Microsoft Internet Explorer.

Результатом работы серверных сценариев ASP является динамически формируемый текст документа HTML, отсылаемый пользователю. Этот текст загружается в окно браузера. Если сформированный документ HTML содержит клиентские сценарии, они будут выполнены браузером.

1. Общие сведения о технологиях ASP

Active Server Page – активные серверные страницы – язык программирования, используемый для создания динамических веб-страниц, обрабатываемых на стороне сервера.

Динамические страницы – это такие страницы, содержимое которых изменяется в зависимости от действий пользователя. Напротив, статические страницы выглядят всегда одинаково, независимо от того, кто и когда ее просматривает. Первоначально все страницы были статическими, однако развитие Интернета вызвало потребность в предоставлении быстро меняющейся информации. Самые простые примеры – курсы валют, прогнозы погоды, обновляющиеся новости. Сложные – это интернет-магазины, on-line издания. Так, система Яндекс определяет географический адрес Вашего IP и предлагает поиск, карту и другие сервисы, актуальные для Вашего региона.

С ростом потребности в динамически изменяемых web-страницах стали появляться и технологии их создания, одним из которых и стала технология ASP.

ASP — технология от Microsoft, позволяющая легко разрабатывать приложения для World Wide Web. ASP работает на платформе операционных систем линии Windows NT и на веб-сервере IIS. ASP не является языком программирования — это лишь технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования Web-страницы. Относительная популярность ASP основана на простоте используемых языков сценариев (VBScript или JScript) и возможности использования внешних COM-компонент.

Технология ASP предполагает широкое использование серверных сценариев и объектов СОМ для создания динамических web-серверов. Средствами технологии ASP можно легко создавать интерактивные web-страницы, выполнять обработку данных введенных пользователем через формы, обращаться к базам данных.

Наиболее интересными и полезными качествами, которыми нас привлекает технология ASP, можно считать:

• удобный способ объединение серверных сценариев c HTML;

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

• концепция «Session» – переменные для каждого пользовательского соединения, как удачное решение вечной проблемы stateless-протокола HTTP;

• возможность организации распределенной архитектуры на основе инфраструктуры COM, DCOM, COM+. Дополнительные возможности, предоставляемые MTS – такие, например, как контекст объектов, пул и т.д.;

• удобныйнаборобъектов-утилит: Server, Application, Request, Response, Session, ObjectContext.

Пользователь не может каким-либо образом получить содержимое страницы ASP, так как web-сервер отправляет ему не саму страницу, а результат ее интерпретации, таким образом, логика работы страницы скрыта от пользователей. Для просмотра требуется www-браузер, такой как Netscape Navigator, или Microsoft Internet Explorer.

1.1 Принципы функционирования

Использование ASP не требует специфичных браузеров. Все ASP-скрипты запускаются и выполняются на веб-сервере, причем браузер получает только результирующие HTML-файлы. Microsoft Internet Information Server, начинаясверсии 3.0, поддерживает Active Server Pages.

Функционирования ASP имеет следующую последовательность. Клиент запрашивает ASP-страницу на веб-сервере. Сервер принимает запрос и начинает его обрабатывать. По расширению файла («.asp») определяет, что данный файл содержит ASP-скрипт и начинает анализировать его содержимое, последовательно интерпретируя и выполняя вставки ASP-кода. ASP-код, в свою очередь, может содержать обращения к различным источникам данных, осуществлять обработку полученных данных и добавлять содержимое генерируемой страницы. В результате формируется «обычная» HTML-страница (уже не содержащая ASP-кода), которая и отправляется обратно клиенту.

Внешне ASP функционирует также как CGI. При передаче данных от клиентской формы серверу, последний кодирует входные данные, а сценарий CGI декодирует их, а затем функционально обрабатывает и возвращает выходные данные браузеру.

Аналогичным образом передаются параметры (формат строки запроса) и осуществляется вывод результатов. Однако производительность ASP оказывается гораздо выше, т.к. при каждом запросе не происходит отдельной загрузки ASP-интерпретатора. Использование компонент ActiveX также значительно повышают производительность веб-сервера.


Помимо повышения производительности ASP решают также проблему оформления динамических web-страниц. Ранее при использовании CGI приходилось либо встраивать текст оформления web-страницы в программный код CGI-сценария, что затрудняло дальнейшее изменение дизайна, либо вынуждало разработчиков создавать свои собственные системы шаблонов. Использование ASP позволяет разработчику одновременно работать над программным кодом и над оформлением Web-страницы.

1.2 Используемые средства для программирования

Web – нормальная среда программирования, если правильно понять, что есть что. В VBScript есть все нормальные конструкции структурного программирования (if, while, case, etc). Есть переменные (описывать не обязательно, тип явно не задается). Поддерживаются объекты. Работаснимиобычная – Object.Property, Object.Method. Естьрядвстроенныхобъектов (Request, Response, Session, Server, Connection, Recordset). Можно доустанавливать другие компоненты (скачивать, покупать, программировать), например для работы с электронной почтой.

1.3 Модель ActiveServerPages

В ASP процесс создания веб-приложений, как уже говорилось выше, значительно упрощен по сравнению с другими приложениями. Достаточно знаний какого-либо языка сценариев, например, VBScript или JavaScript. ASP может использовать сторонние COM-объекты (ActiveX для работы с файлами, отправки писем …), в т.ч. самой операционной системы Windows. Это значительно расширяет возможности ASP-страниц.

Рисунок 1. Схема модели ASP

Когда клиент запрашивает ASP-файл, веб-сервер отправляет ASP-файл в обработчик ASP (файл asp.dll), где код сценария выполняется на стороне сервера и преобразуется в HTML-код. Затем, полученный HTML-код отправляется веб-клиенту. Простое копирование серверных сценариев клиентом невозмо­жно, поскольку обозревателю передаются только результаты их выполнения.

2. История технологий ASP

Когда технология ASP появилась на свет в ноябре 1996 года, она сразу же была оценена как удобный способ создания динамических Web-страниц. В то время широко использовались стандарт CGI и язык Perl, но ASP быстро завоевала популярность по четырем причинам:

Компоненты бизнес-объектов. Понятие бизнес-объекта. Использование компонент бизнес-объекта. Использование компонент ASP.NET

Первое знакомство с компонентами

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

Понятие бизнес-объекта

Бизнес-объекты — это компоненты, в которых спрятан (инкапсулирован) код, применимый к вашему приложению.

Пример: бизнес-объект, находящийся на узле электронной торговли и предназначенный получать данные о стоимости доставки от компаний-поставщиков. Этот компонент можно будет использовать в любом приложении ASP.NET. Он получает информацию из баз данных компаний-поставщиков и передает все, что нужно, приложению электронной торговли. Этот компонент является повторно используемым, и любые его изменения можно делать в каком-то одном месте, не разрушая страниц ASP.NET.

Использование компонент бизнес-объекта

Трехуровневая модель приложений состоит из уровней пользовательского интерфейса(виден пользователю), бизнес-логики и данных(не видны пользователю).

На узле электронной торговли первый уровень состоит из пользовательского интерфейса (форм, разной графики и так далее). Бизнес-уровень состоит из логики, которая управляет ценообразованием, стоимостью поставок. Третий, уровень данных, состоит из хранящейся в базе данных информации о наличных запасах. С помощью третьего уровня приложение лучше разбивается на части, он необходим, если ваше приложение сложное. И если какой-либо из этих уровней исчезнет, то заменять его должен будет один из оставшихся уровней.

1) увеличится степень повторного использования кода, и в результате приложения становятся меньше и компактнее.

2) Если код компилировать отдельно от страниц ASP.NET, то тогда увеличивается производительность.

3) Поддерживать приложение становится легче: стоит изменить бизнес-логику один раз и это изменение будет влиять уже на целое приложение.

Илон Маск рекомендует:  Тег div

Использование компонент ASP.NET

Для откомпилированных объектов в ASP.NET используется каталог /bin, который называется кэш сборки. При запуске ASP.NET все объекты из /bin загружаются автоматически, благодаря чему на своих страницах вы можете применять созданные вами компоненты.

Кроме того, вы можете, используя файл web.config, вручную загружать в свои страницы и те объекты, которых нет в этом каталоге.

Как только объект загружен, вы его можете использовать на своих страницах точно так же, как и встроенные в эти страницы объекты.

Разработка на ASP.NET. MasterPage, динамические компоненты, AJAX, ASP.NET MVC


Презентацию к данной лекции Вы можете скачать здесь.

7.1. Использование MasterPage

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

Одним из средств решения подобных задач являются мастер страницы (master pages). Они реализуют простую модель создания шаблонов форм с возможностью их повторного использования [1].

Для реализации данного механизма, в ASP.NET введены такие типы страниц, как мастер страницы (master pages) и страницы содержимого ( content pages). Мастер страница представляет собой шаблон страницы, при этом, она может содержать любые элементы, допустимые для обычной страницы, а также программный код. Страница содержимого содержит допустимые элементы управления , с помощью которых определяет содержимое, которым заполняются специальные области мастер страниц . Каждая страница содержимого ссылается на одну мастер страницу , от которой получает элементы и их расположение.

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

Для демонстрации возможностей мастер страниц рассмотрим пример создания простой мастер страницы и страницы содержимого.

Схематично структура мастер страницы показана на рис. 7.1 [2].

Такая структура характерна для очень большого числа Веб-сайтов. Изображенные на рис. 7.1 верхний колонтитул , нижний колонтитул и панель навигации являются общими для всех страниц элементами, содержимое которые постоянно и не меняется. Содержимое страницы – та ее часть, которая меняется в зависимости от действий пользователя, именно в ней отображается полезная для пользователя информация , и именно здесь будет размещаться область, в которой будет отображаться страница содержимого.

Мастер страниц создается так же, как и обычные страницы в ASP.NET [3]. Отличие заключается в том, что Веб-страницы начинаются с директивы Page , а мастер страница – с директивы Master :

Еще одним важным отличием является то, что мастер страниц должен содержать элемент управления ContentPlaceHolder , который не имеет каких-либо примечательных свойств и предназначен для определения области, в которую страница содержимого может вставлять содержимое. При создании новой мастер страницы , элемент ContentPlaceHolder создается по умолчанию, хотя его можно удалить или добавить еще один или несколько. На рис. 7.2 показана созданная мастер страница .

Добавим на страницу таблицу, которая будет схематично отображать шаблон сайта, состоящий из верхнего и нижнего колонтитула, меню и основной области:

Как видно, в результате данной операции была добавлена обычная HTML — таблица , для которой были установлены значения ширины и высоты некоторых ячеек. В режиме разработки дизайна страница будет выглядеть так, как показано на рис. 7.3.

Создадим страницу, основанную на созданном мастере страниц . Для примера, возьмем одну из страниц, рассмотренных на предыдущей лекции. В качестве страницы содержимого используем страницу Default.aspx , добавленную к проекту Веб-приложения по умолчанию.

Для того чтобы превратить обычную страницу в страницу содержимого, необходимо в качестве значения свойства MasterPageFile страницы, указать имя мастер страницы , а также добавить на страницу элемент управления .

Исходный код страницы Default.aspx в результате проделанных операций, а также ввода текста «это начальная страница Default.aspx» , будет выглядеть следующим образом.

Результат работы программы изображен на рис. 7.4.

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

Лекция 6 Active Server Pages (ASP )Active Server Pages (ASP ) –Основы. –GLOBAL.ASA –Объекты и компоненты. –Объект Application. –Объект Session. –Объект. — презентация

Презентация была опубликована 6 лет назад пользователемИгорь Торицын

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

Презентация на тему: » Лекция 6 Active Server Pages (ASP )Active Server Pages (ASP ) –Основы. –GLOBAL.ASA –Объекты и компоненты. –Объект Application. –Объект Session. –Объект.» — Транскрипт:

1 Лекция 6 Active Server Pages (ASP )Active Server Pages (ASP ) –Основы. –GLOBAL.ASA –Объекты и компоненты. –Объект Application. –Объект Session. –Объект Request. –Объект Response. –Объект Server.

2 Основы ASP Active Server Pages активные серверные страницы.Active Server Pages активные серверные страницы. ASP — сценарий на VBScript, который исполняется на сервере. Когда запрашивается страница, этот сценарий порождает HTML- текст.ASP — сценарий на VBScript, который исполняется на сервере. Когда запрашивается страница, этот сценарий порождает HTML- текст. К лиент никогда не видит кода, а только результирующий HTML, который воспринимает любая программа просмотра.К лиент никогда не видит кода, а только результирующий HTML, который воспринимает любая программа просмотра.

3 Пример Пример демонстрирует простую ASP-страницу, которая создает приветствие в соответствии со временем суток. В нем текущий час определяется при помощи кода Hour(Now), где Now функция VBScript, возвращающая текущий момент времени и дату.Пример демонстрирует простую ASP-страницу, которая создает приветствие в соответствии со временем суток. В нем текущий час определяется при помощи кода Hour(Now), где Now функция VBScript, возвращающая текущий момент времени и дату.Пример

17 Then strGreeting = Добрый вечер! End If %>» title=»Пример Листинг 1. Простой пример ASP.Листинг 1. Простой пример ASP. Simple ASP Example Simple ASP Example 11 And Hour(Now) 11 And Hour(Now) 17 Then strGreeting = Добрый вечер! End If %>» > 4 Пример Листинг 1. Простой пример ASP.Листинг 1. Простой пример ASP. Simple ASP Example Simple ASP Example 11 And Hour(Now) 11 And Hour(Now) 17 Then strGreeting = «Добрый вечер!» End If %> 17 Then strGreeting = Добрый вечер! End If %>»> 17 Then strGreeting = «Добрый вечер!» End If %>»> 17 Then strGreeting = Добрый вечер! End If %>» title=»Пример Листинг 1. Простой пример ASP.Листинг 1. Простой пример ASP. Simple ASP Example Simple ASP Example 11 And Hour(Now) 11 And Hour(Now) 17 Then strGreeting = Добрый вечер! End If %>»>

5 Особенности К од в листинге, окруженный угловыми скобками и знаками процента ( ) — серверный код, который выполняется перед тем, как страница будет послана программе просмотра.К од в листинге, окруженный угловыми скобками и знаками процента ( ) — серверный код, который выполняется перед тем, как страница будет послана программе просмотра. — на каком языке написан сценарий на данной странице. Можно использовать JavaScript. — на каком языке написан сценарий на данной странице. Можно использовать JavaScript. — п еременн ой strGreeting предшествует знак равенства, указывая, что в данное место HTML- кода нужно вставить текущее значение переменной. — п еременн ой strGreeting предшествует знак равенства, указывая, что в данное место HTML- кода нужно вставить текущее значение переменной.


6 Файл GLOBAL.ASA. В Интернете сложно создать настоящее приложение. Взаимодействие программы просмотра и Web-сервера представляет собой лишенную состояния транзакцию, в ходе которой сервер посылает клиенту Web-страницу и затем забывает о его существовании. Когда клиент запрашивает другую Web-страницу, сервер ничего не помнит о предыдущем запросе.В Интернете сложно создать настоящее приложение. Взаимодействие программы просмотра и Web-сервера представляет собой лишенную состояния транзакцию, в ходе которой сервер посылает клиенту Web-страницу и затем забывает о его существовании. Когда клиент запрашивает другую Web-страницу, сервер ничего не помнит о предыдущем запросе.

7 Файл GLOBAL.ASA. Д ля определения начала и завершения как всего приложения, так и отдельных пользовательских сессий в ASP используется файл GLOBAL.ASA.Д ля определения начала и завершения как всего приложения, так и отдельных пользовательских сессий в ASP используется файл GLOBAL.ASA. Он реагир ует на четыре ключевых события: Application_OnStart (запуск приложения), Application_OnEnd (завершение приложения), Session_OnStart (начало сессии) и Session_OnEnd (завершение сессии).Он реагир ует на четыре ключевых события: Application_OnStart (запуск приложения), Application_OnEnd (завершение приложения), Session_OnStart (начало сессии) и Session_OnEnd (завершение сессии). В листинге 2 приведен типичный файл GLOBAL.ASA.В листинге 2 приведен типичный файл GLOBAL.ASA.

8 Файл GLOBAL.ASA. Листинг 2. Файл GLOBAL.ASA.Листинг 2. Файл GLOBAL.ASA. Sub Session_OnStart End Sub Sub Session_OnEnd End Sub Sub Application_OnStart End Sub Sub Application_OnEnd End Sub

9 Файл GLOBAL.ASA. Для обозначения разделов сценария GLOBAL.ASA содержит теги. Эти теги имеют особый атрибут RUNAT=Server, который означает, что содержащийся в теге код на VBScript должен исполняться на сервере, а не на клиенте. Функционально RUNAT=Server означает то же, что и сочетания угловых скобок и знака процента, используемые для обозначения серверного сценария на Web- страницах.Для обозначения разделов сценария GLOBAL.ASA содержит теги. Эти теги имеют особый атрибут RUNAT=Server, который означает, что содержащийся в теге код на VBScript должен исполняться на сервере, а не на клиенте. Функционально RUNAT=Server означает то же, что и сочетания угловых скобок и знака процента, используемые для обозначения серверного сценария на Web- страницах.

10 Файл GLOBAL.ASA. Ф ормулировк а, предложенная Microsoft, определяет Интернет- приложение как виртуальный каталог со всеми его файлами.Ф ормулировк а, предложенная Microsoft, определяет Интернет- приложение как виртуальный каталог со всеми его файлами. Если пользователь запрашивает Web-страницу из виртуального каталога под названием Bookstore, то тем самым он запускает приложение Bookstore, и в GLOBAL.ASA возбуждаются события Application_OnStart и Session_OnStart.Если пользователь запрашивает Web-страницу из виртуального каталога под названием Bookstore, то тем самым он запускает приложение Bookstore, и в GLOBAL.ASA возбуждаются события Application_OnStart и Session_OnStart.

11 Файл GLOBAL.ASA. Согласно этому определению с приложением одновременно могут работать несколько программ просмотра.Согласно этому определению с приложением одновременно могут работать несколько программ просмотра. С обытие Application_OnStart происходит только один раз: когда первый пользователь запрашивает Web-страницу из виртуального каталога.С обытие Application_OnStart происходит только один раз: когда первый пользователь запрашивает Web-страницу из виртуального каталога. Когда страницы из этого каталога запрашивают другие пользователи, возбуждается только событие Session_OnStart.Когда страницы из этого каталога запрашивают другие пользователи, возбуждается только событие Session_OnStart. Session_OnStart

12 Файл GLOBAL.ASA. Для конкретной программы просмотра сессия длится, пока программа продолжает запрашивать страницы виртуального каталога.Для конкретной программы просмотра сессия длится, пока программа продолжает запрашивать страницы виртуального каталога. Если пользователь не запрашивает Web-страницы (из данного виртуального каталога) на протяжении 20 минут (по умолчанию), сессия завершается, и возбуждается событие Session_OnEnd.Если пользователь не запрашивает Web-страницы (из данного виртуального каталога) на протяжении 20 минут (по умолчанию), сессия завершается, и возбуждается событие Session_OnEnd. Когда в данном виртуальном каталоге завершаются все сессии, возбуждается событие Application_OnEnd.Когда в данном виртуальном каталоге завершаются все сессии, возбуждается событие Application_OnEnd.

13 Объекты и компоненты. VBScript не является полнофункциональным языком. Так, в VBScript нет встроенных функций доступа к данным; не умеет он и открывать текстовые файлы.VBScript не является полнофункциональным языком. Так, в VBScript нет встроенных функций доступа к данным; не умеет он и открывать текстовые файлы. Все это и многое другое реализуется объектами и компонентами ASP.Все это и многое другое реализуется объектами и компонентами ASP. ASP-объекты и компоненты это компоненты ActiveX, подобные обычным DLL ActiveX.ASP-объекты и компоненты это компоненты ActiveX, подобные обычным DLL ActiveX.

14 Объекты и компоненты. ASP-объекты это элементы управления ActiveX, которые в коде на VBScript доступны всегда: их не нужно создавать явно. В число объектов ASP входят Application, Session, Request, Response и Server.ASP-объекты это элементы управления ActiveX, которые в коде на VBScript доступны всегда: их не нужно создавать явно. В число объектов ASP входят Application, Session, Request, Response и Server. ASP-компоненты — это DLL, существующие вне структуры ASP. ASP-компоненты нужно явно создавать в коде. ASP поддерживает компоненты Database Access, File Access, Browser Capabilities, Ad Rotator и Content Linking.ASP-компоненты — это DLL, существующие вне структуры ASP. ASP-компоненты нужно явно создавать в коде. ASP поддерживает компоненты Database Access, File Access, Browser Capabilities, Ad Rotator и Content Linking.

15 Объект Application. Объект Application (приложение) позволяет создавать переменные приложения (application variables), доступные всем пользователям данного приложения. Все, кто обращается к Web-страницам данного виртуального каталога, могут совместно использовать любую переменную приложения определенную для этого каталога.Объект Application (приложение) позволяет создавать переменные приложения (application variables), доступные всем пользователям данного приложения. Все, кто обращается к Web-страницам данного виртуального каталога, могут совместно использовать любую переменную приложения определенную для этого каталога. В листинге 3 приведен пример программы, в не й переменная приложения служит для отслеживания времени последнего обращения к страницам приложения.В листинге 3 приведен пример программы, в не й переменная приложения служит для отслеживания времени последнего обращения к страницам приложения.пример

16 Объект Application. Листинг 3. Объект Application.Листинг 3. Объект Application. Application Variables Application Variables Эта страница последний раз посещалась: Эта страница последний раз посещалась:

17 Объект Application. Имя может быть произвольным, а переменная может содержать любую информацию, будь то число или текст.Имя может быть произвольным, а переменная может содержать любую информацию, будь то число или текст. Т акие переменные доступны нескольким пользователям одновременно.Т акие переменные доступны нескольким пользователям одновременно. Для разрешения коллизий объект Application поддерживает методы Lock и UnLock. Метод Lock блокирует весь объект Application, поэтому после изменения значения переменной разблокируйте объект.Для разрешения коллизий объект Application поддерживает методы Lock и UnLock. Метод Lock блокирует весь объект Application, поэтому после изменения значения переменной разблокируйте объект.

18 Объект Application. П еременные приложения пригодны лишь для временного хранения данных, их нельзя использовать для долговременного хранения.П еременные приложения пригодны лишь для временного хранения данных, их нельзя использовать для долговременного хранения. Все данные в переменных приложения уничтожаются, когда происходит событие Application_OnEnd. Так что, если вы хотите, чтобы они сохранились после завершения приложения, позаботьтесь о их переносе в файл или базу данных.Все данные в переменных приложения уничтожаются, когда происходит событие Application_OnEnd. Так что, если вы хотите, чтобы они сохранились после завершения приложения, позаботьтесь о их переносе в файл или базу данных.

19 Объект Session. ASP поддерживает переменные для индивидуального пользователя при помощи объекта Session (сессия), который позволяет создавать переменные сессии (session variables).ASP поддерживает переменные для индивидуального пользователя при помощи объекта Session (сессия), который позволяет создавать переменные сессии (session variables). Sub Session_OnStart Session(«Company»)=»NewTech» End Sub

20 Объект Session. Переменные сессии можно создавать на любой Web-странице или в файле GLOBAL.ASA, а доступны они на любой Web- странице приложения, в котором эти переменные были первоначально созданы.Переменные сессии можно создавать на любой Web-странице или в файле GLOBAL.ASA, а доступны они на любой Web- странице приложения, в котором эти переменные были первоначально созданы. Получить значения переменных сессии можно, считывая их из объекта Session. Следующий пример считывает переменные сессии выводит их в полях ввода:Получить значения переменных сессии можно, считывая их из объекта Session. Следующий пример считывает переменные сессии выводит их в полях ввода: пример

Илон Маск рекомендует:  Компьютерная графология

21 Объект Session. Как ASP запоминает переменные сессии для каждого пользователя приложения:Как ASP запоминает переменные сессии для каждого пользователя приложения: эти переменные сохраняются на сервере для каждого клиента. Программа просмотра получает от сервера уникальный идентификатор, позволяющий определить, какой набор переменных кому принадлежит. Клиент этот идентификатор (Globally Unique >

22 Объект Session. Д ля установки или считывания в р емени жизни сессии (в минутах) применяется свойство Timeout объекта Session:Д ля установки или считывания в р емени жизни сессии (в минутах) применяется свойство Timeout объекта Session: Session.Timeout=30Session.Timeout=30 Для принудительного окончания сессии и ликвидации сессионных переменных применяют метод AbandonДля принудительного окончания сессии и ликвидации сессионных переменных применяют метод Abandon Session.AbandonSession.Abandon

23 Объект Request. Для передачи данны х серверу программа просмотра использует отправку формы (form submission).Для передачи данны х серверу программа просмотра использует отправку формы (form submission). Данные имеют вид пар Поле=Значение, отсылаемых серверу открыты м текст ом.Данные имеют вид пар Поле=Значение, отсылаемых серверу открыты м текст ом. На сервере эти данные разбирает по полям объект Request. Например, следующий код вернет вам значение поля формы Name:На сервере эти данные разбирает по полям объект Request. Например, следующий код вернет вам значение поля формы Name:

24 Объект Request. Request.Form применяется, когда данные были отправлены методом POST и именно этому сценарию.Request.Form применяется, когда данные были отправлены методом POST и именно этому сценарию. Если для отправки данных используется метод GET или сценарий вызывается с передачей параметров в гиперссылкеЕсли для отправки данных используется метод GET или сценарий вызывается с передачей параметров в гиперссылке Чтобы отправить данные, щелкните здесь! Чтобы отправить данные, щелкните здесь! то для разбота данных применяют свойство Request.QueryString:то для разбота данных применяют свойство Request.QueryString:

25 Объект Request. Request.Cookies используются для извлечения информации из кукисов (cookies), отосланных вместе с запросом строке пользовательского агента программы просмотра.Request.Cookies используются для извлечения информации из кукисов (cookies), отосланных вместе с запросом строке пользовательского агента программы просмотра. Л истинг 5 демонстрирует применение свойства ServerVariables для определения имени компьютера, с которого клиент вызвал сценарий.Л истинг 5 демонстрирует применение свойства ServerVariables для определения имени компьютера, с которого клиент вызвал сценарий.демонстрирует

26 Объект Request. Листинг 5. Определение компьютера пользователя.Листинг 5. Определение компьютера пользователя. Server Variables Server Variables Вы вошли с компьютера Вы вошли с компьютера Переменные сервера представляют широкий круг информации о клиенте и Web-сервере. Доступ к каждой конкретной переменной сводится к чтению соответствующей переменной.Переменные сервера представляют широкий круг информации о клиенте и Web-сервере. Доступ к каждой конкретной переменной сводится к чтению соответствующей переменной.

27 Объект Response. Фактически в комбинации знак равенства представляет собой сокращенное обозначение метода Write объекта Response.Фактически в комбинации знак равенства представляет собой сокращенное обозначение метода Write объекта Response. С ледующие две строки кода эквивалентны:С ледующие две строки кода эквивалентны: Поскольку объект Response используется очень часто, такое сокращение оправдано.Поскольку объект Response используется очень часто, такое сокращение оправдано.

28 Объект Response. Полезное свойство объекта Response — Expires. Оно задает время (в минутах) за которое страница устаревает. Если установить его в нуль, то страница будет устаревать в момент загрузки и Internet Explorer не будет ее кэшировать. Кэширование сильно влияет на разработку и может привести к тому, что приложение будет функционировать неправильно. IE кэширует страницы двумя способами: на диске и в памяти.Полезное свойство объекта Response — Expires. Оно задает время (в минутах) за которое страница устаревает. Если установить его в нуль, то страница будет устаревать в момент загрузки и Internet Explorer не будет ее кэшировать. Кэширование сильно влияет на разработку и может привести к тому, что приложение будет функционировать неправильно. IE кэширует страницы двумя способами: на диске и в памяти.

29 Объект Response. Рассмотрим такой фрагмент кода, показывающий текущее время и дату:Рассмотрим такой фрагмент кода, показывающий текущее время и дату: Сейчас Сейчас Когда IE запрашивают страницу с этим кодом, на сервере выполняется сценарий, и на странице появляется текущее время. Однако, если программа просмотра переходит к другой странице, а затем возвращается к этой, со временем, то время не изменится, поскольку IE не запрашивает ее повторно.Когда IE запрашивают страницу с этим кодом, на сервере выполняется сценарий, и на странице появляется текущее время. Однако, если программа просмотра переходит к другой странице, а затем возвращается к этой, со временем, то время не изменится, поскольку IE не запрашивает ее повторно.

30 Объект Response. В листинге 6 приведена исправленная версия примера, устаревающая уже в момент загрузки.В листинге 6 приведена исправленная версия примера, устаревающая уже в момент загрузки.приведена Листинг 6. Страница, устаревающая уже в момент загрузки.Листинг 6. Страница, устаревающая уже в момент загрузки. Forcing a Page to Expire Forcing a Page to Expire Сейчас Сейчас

31 Объект Response. Еще один полезный метод объекта Response — Redirect, перенаправляющий программу просмотра на указанный URL:Еще один полезный метод объекта Response — Redirect, перенаправляющий программу просмотра на указанный URL:


32 Объект Response. Кроме методов (Write и Redirect) и свойства Expires у объекта Response имеется коллекция (набор однотипных объектов) Cookies. Создание элемента коллекции означает запись теневой посылки на компьютер посетителя. Каждый элемент коллекции имеет имя, одно или несколько значений и несколько свойств:Кроме методов (Write и Redirect) и свойства Expires у объекта Response имеется коллекция (набор однотипных объектов) Cookies. Создание элемента коллекции означает запись теневой посылки на компьютер посетителя. Каждый элемент коллекции имеет имя, одно или несколько значений и несколько свойств:

33 Объект Response. срок жизни (Expires),срок жизни (Expires), имя папки на сервере, сценарии из которой имеют право чтения этой теневой посылки (Path),имя папки на сервере, сценарии из которой имеют право чтения этой теневой посылки (Path), имя сервера, сценарии которого имеют право чтения этой теневой посылки (Domain).имя сервера, сценарии которого имеют право чтения этой теневой посылки (Domain).

34 Объект Response. Обязательным параметром теневой посылки является только ее имя. Остальные параметры можно не указывать. В этом случае:Обязательным параметром теневой посылки является только ее имя. Остальные параметры можно не указывать. В этом случае: Отсутствие значения приводит к стиранию теневой посылки с компьютера посетителя;Отсутствие значения приводит к стиранию теневой посылки с компьютера посетителя; Отсутствие срока жизни приводит к устареванию теневой посылки в момент закрытия браузера;Отсутствие срока жизни приводит к устареванию теневой посылки в момент закрытия браузера;

35 Объект Response. Отсутствие имени папки означает разрешение чтения теневой посылки сценариями из текущей папки;Отсутствие имени папки означает разрешение чтения теневой посылки сценариями из текущей папки; Отсутствие имени сервера означает разрешение чтения теневой посылки сценариям любого сервера (если они знают имя теневой посылки).Отсутствие имени сервера означает разрешение чтения теневой посылки сценариям любого сервера (если они знают имя теневой посылки).

36 Объект Response. Приведем пример записи теневой посылки:Приведем пример записи теневой посылки: Response.Cookies(«visit»)(«Value ) = dataResponse.Cookies(«visit»)(«Value ) = data Response.Cookies(«visit»).Expires = Date + 365Response.Cookies(«visit»).Expires = Date Response.Cookies(«visit»).Path= » / «Response.Cookies(«visit»).Path= » / » Response.Cookies(«visit»).Domain= Request.ServerVariables(SERVER_N AME )Response.Cookies(«visit»).Domain= Request.ServerVariables(SERVER_N AME )

37 Объект Server. Объект Server (сервер) содержит функции, никак не связаны между собой.Объект Server (сервер) содержит функции, никак не связаны между собой. С амая важная функци я объекта Server это метод CreateObject, который создает экземпляр компонента ActiveX.С амая важная функци я объекта Server это метод CreateObject, который создает экземпляр компонента ActiveX. Аргументом метода CreateObject служит Prog >

38 Объект Server. Следующая строчка показывает, как при помощи CreateObject создать экземпляр компонента с Prog >

Разработка ASP/COM+ Web приложений с использованием Team Developer v3.1

Оглавление

Популярность Web-приложений на основе технологии ASP (Active Server Pages) связана с тем, что эта технология очень проста в изучении, обеспечивает высокую производительность, масштабируемость и гибкость, и наконец, что немаловажно, полностью поддерживается компанией Microsoft. По этой причине компания Gupta приняла решение, что в ее интересах обеспечить разработчиков способом создания Web-решений, которые основываются на этом весьма популярном серверном языке программирования сценариев.

Существует альтернативное Web-решение компании Gupta, известное как Web Extensions, основанное на использовании существующего SAL-интерфейса и бизнес-логики. В данном документе не обсуждается Web Extensions; более подробная информация об этом по адресу.

В настоящее время возможно построение и применение полностью масштабируемых COM-серверов при помощи мастера COM из продукта Team Developer. Теперь у разработчика есть возможность отладки COM-серверов, которые вызываются не клиентами Team Developer, такими как VB или ASP. Таким образом, используя версию 3.1 продукта Team Developer, разработчик может быстро приступить к построению решений на основе ASP/COM, сочетающих простоту ASP и производительность Team Developer. Данный официальный документ продемонстрирует подход к построению таких решений.

ASP (Active Server Pages) — одна из наиболее широко используемых Web-технологий (по крайней мере на платформе Microsoft). Вам не придется просматривать слишком много Web-страниц, чтобы увидеть, что довольно большое их число заканчивается расширением .asp. Принципиальной причиной популярности ASP является то, что ASP позволяет разработчикам выполнять код, размещенный внутри web-страниц, используя понятный язык сценариев, такой как VBScript или Jscript (реализация JavaScript от компании Microsoft).

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

В простейшем случае ASP-страница — это типичный ASCII файл, которые содержит HTML и программный (VBScript или Jscript) коды, хотя в более сложных случаях решение на основе ASP может объединять web-приложения, содержащие HTML, Jscript/VBScript, SQL, ADO и COM/COM+ компоненты среди прочих.

Примечание: детальный обзор языков VBScript/Jscript не является целью данного Документа. Предполагается базовое знакомство с этими языками сценариев также, как и с основами форм HTML. Также предполагается знакомство с процессом создания и использования COM объектов в рамках продукта Team Developer. Более подробную информацию о последнем процессе можно найти в онлайновой документации на продукт Team Developer, примерах и других документах на Web-сайте.

IIS (Internet Information Server) — это Web-сервер производства компании Microsoft. Как правило, Web-серверы «подают» HTML-код браузерам (клиентам) по получении от них HTTP запросов. Когда IIS получает запрос на файл с расширением «.asp», он исполняет сценарии внутри этого файла, генерирует чистую HTML страницу и возвращает ее браузеру (клиенту), которые выдал запрос.

ASP поддерживает как Visual Basic Script, так и собственную реализацию JavaScript (Jscript), сделанную компанией Microsoft. Также существуют средства от третьих сторон, которые позволяют интегрировать другие популярные языки сценариев, такие как Perl, в решения ASP.

Для того, чтобы внедрение решений ASP было максимально простым, ASP содержит следующие 5 встроенных объектов:

  • Объект Сервер дает разработчику возможность управлять ресурсами сервера. Одним из наиболее широко используемых методов, которые он поддерживает, является метод CreateObject( ), который позволяет создать экземпляр COM объекта.
  • Объект Приложение хранит информацию и управляет ей на уровне приложения. Этот означает, что любая переменная объекта Приложение может быть использована во всех сессиях Web-приложения.
  • Объект Сессия хранит информацию и управляет ей на уровне пользовательской сессии. Обычно это дает возможность Web-приложению запомнить информацию о конкретной пользовательской сессии.
  • Объект Запрос позволяет собирать информацию, посылаемую через HTTP запрос.
  • Объект Отклик позволяет послать информацию назад к клиенту по протоколу HTTP.

Теги ‘ ’ используются внутри ASP страницы для указания начала и конца сценария, который Web-сервер должен выполнить на сервере вместо простой передачи и возврата HTML.

Пример ASP страницы в данном случае является лучшей иллюстрацией. Листинг 2.1- это ASP страница, которая извлекает виды продукта и цены из таблицы PRODUCT базы данных ISLAND, используя для этого объект «ADO recordrset».

Листинг 2.1 Извлечение видов продукта и цен и демонстрация их в виде HTML таблицы.

Сценарий, приведенный выше, может быть помещен в файл ‘ADODemo.asp’ на PC, где установлен IIS. Если его разместить в корневой папке WEB-сервера, то результаты исполнения можно увидеть, если в адресной строке браузера ввести URL http://localhost/ADODemo.asp.

Данный простой пример показывает, как ASP сценарий может быть размещен внутри HTML-кода для получения динамической страницы, содержимое которой зависит от содержимого таблицы базы данных; изменение данных в таблице будет отражено в HTML-коде, возвращаемом браузеру, сделавшему запрос. Если пользователь, сделавший запрос, захочет просмотреть исходный HTML-код, то он увидит НЕ сам ASP сценарий, а только HTML-код, который был сгенерирован в результате исполнения этого сценария. Таким образом, он увидит нечто похожее на то, что приведено на следующем листинге.


Листинг 2.2 HTML-код, сгенерированный вышеприведенным ASP сценарием

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

По этой причине COM (Component Object Model фирмы Microsoft) очень хорошо подходит для решений на основе ASP. COM дает возможность использования решений типа «черного ящика»; пользователь COM-объекта должен знать только о его интерфейсах, методах и свойствах.

Основные причины для использования COM-компонентов совместно с ASP заключаются в следующем.

  • Повторное использование: довольно сложно разместить ASP-сценарий так, чтобы его можно было повторно использовать на нескольких различных страницах. Компоненты дают возможность более эффективного управления и повторного использования определенной функциональности, например, доступа к данным.
  • Безопасность: иногда важно сохранить исходные коды от потенциальных опасностей. Размещение их в COM компонентах поможет выполнить такое требование.
  • Масштабируемость: COM компоненты сами по себе не обязательно должны находиться на том же компьютере, что и Web-сервер. Когда компания Microsoft выпустила технологию ASP, она также предложила и Microsoft Transaction Server (MTS), который обеспечивает управление транзакциями для приложений, построенных с применением COM технологии.
  • Взаимодействие: в дополнение к предыдущему пункту существует возможность выходить за пределы объектных систем и получать доступ к объектам, которые относятся к другим стандартам, таким как CORBA; известны продукты третьих компаний, облегчающие это.
  • Простота разработки: COM объекты можно создавать в рамках Team Developer, и, поступая таким образом, Вы защищаете свои ранее сделанные инвестиции. Кроме того, если Вы хоть однажды пытались отлаживать ASP-страницу, то Вы быстро оцените выгоды от возможности использования для этой цели своего любимого отладчика. Создавая COM объекты средствами Team Developer, Вы можете легко отлаживать их динамически, даже когда они вызываются из ASP-страницы. Таким образом, среда Team Developer эффективна и при разработке на основе технологии ASP.

Поэтому по причинам, названным выше, настоятельно рекомендуется, чтобы объекты COM были частью любого существенного Web-решения на основе ASP. Team Developer версии 3.1 отлично подходит любому разработчику, обладающему опытом использования языка SAL и основ COM.

Давайте рассмотрим еще одно простое ASP-решение, но на этот раз для получения требуемой нам функциональности мы используем COM-объект, написанный в Team Developer. Для максимального упрощения мы начнем с Web-страницы, содержащей HTML-форму ( ASP_Add.htm ) с двумя полями. После подтверждения эта форма вызовет ASP страницу ( ASP_Add.asp ). ASP-страница породит COM объект ( ASP_COM.ASPTestObject ), а уже из этого объекта будет вызван метод/функция AddStr() . Метод просто объединит любые значения, помещенные в два поля ввода и вернет результат.

На практике зачастую начальная HTML-форма и ASP-страница объединены, но в данном случае, материал упрощен насколько возможно с тем, чтобы подробно остановиться на процессе использования COM-объектов в ASP-сценарии. Позже будут рассмотрены обратные примеры с необходимостью использования отдельной HTML-страницы.

Листинг 3.1 HTML-страница, вызывающая ASP сценарий после подтверждения формы (ASP_Add.htm)

Листинг 3.2 ASP страница, вызванная после подтверждения формы, заданной выше (ASP_Add.asp)

Используя Team Developer 3.1, мы можем быстро создать CoClass и Интерфейс (ASPTestObject и IASPTestObject соответственно). К интерфейсу мы добавляем функцию/метод AddStr( ), SAL-код которой приведен ниже.

Листинг 3.3 COM-объект в Team Developer

Примечание: ВСЕ исходные файлы приводятся для пояснения данного документа.

Таким образом, для ЛЮБОГО источника/провайдера данных, у которого есть механизм доступа OLE DB, код Team Developer может обеспечить легко программируемый доступ, который будет знаком любому, у кого есть опыт работы с SAL/SQLWindows.

Вместо использования SqlConnect( ) для получения обработчика Sql для источника данных разработчику потребуется использовать вызовы SqlCreateSession( ) и SqlCreateStatement( ); а вместо использования вызова SqlDisconnect( ) для отключения от источника — вызов SqlFreeSession( ). Для большинства стандартных SQL операций все используемые Sql…( ) функции будут такими же, как и при непосредственном подключении (например, SqlPrepare( ), SqlExecute( ), SqlFetNext( ) и т.д.).

При таком простом переходе к использованию механизма OLE DB для доступа к любому источнику данных (помните, что источники данных могут быть не только реляционными базами данных) программист Team Developer может легко использовать OLE DB в составе Web-решений на основе ASP/COM. Простота, с которой это достигается, показана на ниже приведенном листинге. В данном примере для создания класса CoClass (OLE DB) с единственным Интерфейсом (IOLEDB) использован Мастер классов COM среды Team Developer. Интерфейс предоставляет 6 методов (Connect, Disconnect, NextProduct, Price, SelectProducts and Style).

Листинг 4.1 Методы Интерфейса IOLEDB (ASP_COM_OLEDB.app)

Метод Connect демонстрирует, насколько просто подключиться к источнику данных, используя OLE DB из состава Team Developer. В данном случае мы применяем механизм доступа SQLBaseOLEDB, но при изменении параметра строки подключения, передаваемого функции SqlCreateSession( … ) можно использовать любой другой механизм OLE DB. Следует упомянуть также метод Disconnect, вследствие использования в нем функции SqlFreeSession( … ). Кроме этих двух методов используемая функциональность должна быть сразу же понятна любому разработчику, знакомому с использованием Sql… функций в среде Team Developer/SQLWindows.

Листинг 4.2 Фактические переменные Интерфейса IOLEDB (ASP_COM_OLEDB.app)
В данном примере демонстрируется простота, с которой может быть вызван описанный выше COM-сервер.

Листинг 4.3 ASP страница, использующая COM сервер ASP_COM_OLEDB.OLEDB (ASP_OLEDB.asp)

Необходимо отметить, что разработчик может использовать объектную модель ADO напрямую из своего ASP-сценария, как это сделано в листинге 2.1, но при этом требует знакомства с подобной моделью данных. Пример, приведенный выше, показывает, насколько просто разработчик Team Developer может создавать ASP решения на основе OLEDB, используя уже существующие у него навыки.

Наконец, если разработчик действительно хочет использовать объектную модель ADO, ничто не мешает ему сделать это в рамках COM объекта, так как это позволит использовать преимущества инкапсуляции максимального объема логики в составе COM объектов, которые были описаны выше в разделе 3.

Для реального увеличения масштабируемости решений на основе ASP технологии компания Microsoft предоставляет инструмент/службу API для обеспечения управления компонентами и транзакциями, который называется Microsoft Transaction Server (MTS). MTS обеспечивает управление транзакциями для COM компонентов и является эффективным инструментом управления компонентами, который предоставляет механизм миграции сервера и клиента, а также службу регистрации компонентов. Дополнительную информацию о MTS можно найти в соответствующем официальном документе. Использование ASP и MTS существенно обогащается подключением OLE DB/ADO, которые обеспечивают общие средства доступа к данным независимо от их структуры.

Использование Team Developer 3.1 делает возможным выполнять активную отладку COM-сервера, разработанного при помощи Team Developer, независимо от того, откуда он вызван. Таким образом, COM-сервер, написанный в Team Developer, вызванный из ASP или VB, может быть отлажен столь же просто, как и сервер, вызванный из другого клиента Team Developer.

Все, что нужно сделать для вызова режима отладки, — это открыть исходный код уже сформированного и зарегистрированного COM объекта, а затем вызвать команду меню Debug/Go (или использовать клавишу F7). Необходимо задать точку останова в подходящем месте в любой из функций Интерфейса, после чего вернуться в клиентское приложение, которое будет использовать этот COM объект, и запустить его; если это ASP сценарий, вызвать его, используя http в браузере.

Если клиентское приложение вызовет метод сервера, в котором задана точка останова, то, вернувшись в Team Developer, разработчик может пошагово пройти SAL-код, имея доступ ко всем существующим средствам отладки. Основной момент, о котором следует помнить, это то, что для проведения отладки необходим предварительный запуск сервера (Debug / Go или F7); про этот шаг часто забывают.


  • Team Developer 3.1
  • Microsoft Internet Information Server

Asp использование компонентов и объектов

Мы очень быстро научились создавать ASP-страницы, которые умеют «читать» и «писать» базу данных SQL. Пора задуматься о смысле жизни.

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

Серверные компоненты представляют собой объекты OLE Automation. Можно создавать серверные компоненты при помощи C++, Visual Basic , но ASP содержит и ряд встроенных компонентов.

Ad Rotator — позволяет «вращать» изображения на странице в случайном порядке, либо в определенной последовательности.

Browser Capabilities — позволяет сценарию получить информацию о возможностях клиента.

Content Linker — позволяет создать и вести список URL Web-узла.

Database Access — самый важный компонент или Active Data Object (ADO), который позволяет легко и просто получить доступ к базе данных.

File Access — позволяет создавать, открывать , читать и записывать текстовый файл в локальной файловой системе.

Объектная модель ASP-сервера

Application — создается в файле GLOBAL.ASA и может применяться для совместного использования данных.

Определяем пользовательское свойство и записываем его значение:

Теперь во всех файлах нашего приложения можем создать одинаковый для всех страниц тэг:

Request — объект содержит значения, переданные серверу посредством HTTP-запроса. В этом объекте есть пять наборов:

  • ClientCertificate — данные, которые запросил сервер при установлении соединения
  • Cookies — значения cookie Forms — содержит значения, переданные серверу при отправке данных формы методом POST
  • QueryString — содержит значения, переданные серверу при отправке данных формы методом GET
  • ServerVariables — содержит ряд переменных среды сервера, например HTTP_USER_AGENT

Response — отправляет данные обратно клиенту. Например, вызывая метод Write объекта Response можно вставлять строки в выходной HTML-файл.

Server — позволяет сценарию взаимодействовать с сервером.

Session — сохраняет информацию о сеансе работы пользователя.

Это краткий обзор «анатомии» ASP. Его надо было сделать. Есть над чем задуматься или испугаться. А для тех, кто ничего не боится, будут следующие шаги и подробности ASP.

История создания ASP.NET

Фундаментальные основы ASP.NET

Лекция 3

Технологии ASP.NET

ASP.NET — это новая технология для создания мощных сценариев, которые выполняются на сервере. Она предоставляет разработчикам службы, необходимые для создания .NET-приложений. Компания Microsoft первоначально планировала назвать свой продукт ASP+ — как усовершенствование ASP. Но после создания платформы .NET ASP+ была переименована в ASP.NET и вошла в состав пакета среды разработки приложений Visual Studio.NET.


Непосредственно взаимодействуя с операционной системой, среда .NET Framework предоставляет интерфейс ASP-приложениям. Новая технология ASP.NET позволяет создавать приложения на нескольких языках программирования, например на Visual Basic .NET, C# и JScript .NET. Благодаря этому приложениям предоставляются возможности .NET, такие как работа в среде CLR, безопасность типов и наследование. Наиболее важными усовершенствованиями, добавленными в ASP.NET, являются серверные элементы управления (Server Controls), новые возможности работы в Web, кэширование Web-страниц и новая объектная модель.

Технология ASP.NET является новой средой разработки Web-приложений. Технология ASP базировалась на использовании языков сценариев. В основу ASP.NET положена работа в среде CLR, что позволяет создавать Web-приложения на любом языке, поддерживаемом платформой .NET. Независимо от языка программирования, использованного при создании приложения ASP, его код компилируется в код на промежуточном языке IL. Это немаловажное преимущество, так как теперь возможности одного языка могут использоваться в другом языке без необходимости написания дополнительного кода. Таким образом достигается высокая степень повторного использования кода.

Динамические Web-страницы традиционно создавались на основе элементов кода, выполняемых на сервере. Стандарты, подобные CGI (Common Gateway Interface — интерфейс общего шлюза), позволяют выполняемым программам получать доступ к информации запроса пользователя. Запрос передается CGI-сценарию на сервере, который возвращает результат обработки запроса в HTML-формате. Альтернативным вариантом являлось применение языков, подобных Perl, которые позволяют разработчикам создавать текстовые файлы сценариев. Эти сценарии выполняются на сервере с помощью Perl-интерпретатора. Позднее компания Microsoft выпустила ISAPI (Internet Server Application Programming Interface — интерфейс прикладного программирования Internet-сервера), включив в поставку программное обеспечения для IIS. ISAPI, в отличие от CGI, позволяет непосредственно выполнять на Web-сервере код, скомпилированный в DLL, тогда как CGI вместо библиотек DLL использует выполняемые программы. В 1996 году была разработана технология ASP 1.0, основанная на спецификации ISAPI. Она позволяла создавать динамические Web-страницы и объединять объекты ASP с компонентами других мощных технологий, например с компонентами ADO. Выпущенная в 1998 году версия ASP 2.0 поддерживает MTS (Microsoft Transaction Server — сервер транзакции Microsoft) для построения компонентов с использованием транзакций.

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

Новые возможности технологии ASP.NET настолько впечатляют, что ее сложно назвать следующей версией ASP. Прежде всего стоит сказать о направленности на использование отдельных, независимых компонентов. Это означает, что каждая Web-страница, элемент HTML или объект может быть использован как компонентный объект среды выполнения. Таким образом ASP.NET позволяет в полной мере использовать концепции и методы объектно-ориентированной разработки приложений, например, для добавления новых компонентов или наследования функций из базового класса и изменения их возможностей в производных классах. Создание, объединение и распределение объектов управляется средой выполнения СОМ+.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Как то на паре, один преподаватель сказал, когда лекция заканчивалась — это был конец пары: «Что-то тут концом пахнет». 8376 — | 8007 — или читать все.

Образовательный блог — всё для учебы

1) Общие сведения об ASP
ASP (Active Server Pages) – это технология программирования, позволяющая создавать на Web-сервере (с IIS, 1997 г.) динамические интерактивные Web-страницы. ASP представляет собой файлы с расширением *.Asp, содержащие смесь кода HTML, кода сценариев на языке VBScript или JavaScript, средств доступа к БД (ADO), управления внешними COM-объектами и внутренних объектов ASP. Эта технология впервые была реализована в Web-сервере IIS фирмы Microsoft и фактически является интерпретируемым вариантом ISAPI-расширения сервера.

2) Встроенные объекты
ASP включает семь встроенных (не требующих создания и инициализации) объектов, используемых для пересылки HTML-страниц и данных браузеру, извлечения данных, обмена данными с сервером и т.д. среди них:
Response – пересылает данные клиенту
Request – обрабатывает данные, поступающие с запросом от клиента.
Server – обеспечивает взаимодействие с сервером.
Application – кэширует данные о приложении.
Session – кэширует данные о браузере.
ObjectContext – запускает транзакции и управляет их выполнением.
ASPError – поддерживает работу с ошибками.

3) Особенности ASP
Помимо встроенных, в комплект ASP входит ряд устанавливаемых объектов, часть из которых бывает полезна, а часть незаменима. Так COM объект Dictionary незаменимый.

В отличие от CGI, ASP-сценарий выполняется как внутренний процесс сервера, кроме того, он многопоточен и оптимизирован для работы с большим количеством пользователей. ASP-сценарий начинает выполняться после того, как браузер запросит файл с расширением *.Asp с Web-сервера. Web-сервер посылает вызов встроенному в IIS ASP-механизму обработки (..\System\InetSrv\Asp.Dll), который считывает сценарий и выполняет все встретившиеся команды. В результате генерируется HTML-страница, которая посылается браузеру.

Для того, чтобы с помощью ASP сделать что-либо серьезное на Web-сервере, необходимо создать COM-объекты и использовать их службы (методы). Компоненты ASP Должны использовать модель потоков STA – каждый объект выполняется в контексте собственного потока и защищен от конкурирующих потоков.

4) Доступ к встроенным объектам
Для доступа от создаваемых COM-объектов ко встроенным необходимо использовать интерфейсы:
a) С помощью функции GetObjectContext получить указатель на интерфейс IObjectContext;
b) С помощью указателя следует получить указатель на интерфейс IGetContextProperties;
c) Вызвав метод GetProperties() и передав ему имя встроенного объекта, например, Request или Response, и вариантную переменную, можно получить через нее указатель на IDispatch интерфейс запрашиваемого объекта;
d) Далее можно вызывать методы встроенного объекта.

5) Недостатки ASP
• Программы ASP не компилируются, а интерпретируются. Следовательно, они исполняются медленнее компилируемых.
• ASP не имеет развитых средств определения типов. Все переменные имеют тип Variant (16 байт). Это удобно, но не способствует повышению скорости работы.
• Внешние файлы приходится включать (include) при каждом обращении.
• ASP трактует все объектные (object) переменные как объекты с поздним связыванием. При каждом обращении к свойству или методу запрашиваются все данные об объекте, что увеличивает время отклика.

6) Пример реализации ASP
— Необходимые настройки и установки
На сервере необходимо установить IIS (каталог WEB5), ADO, ODBC (System DSN – SLS), InterBase (FireBird). В качестве источника данных воспользуемся БД Sales.Gdb.

— Структура программы доступа к БД

HTML-заголовок:

Демонстрация ASP

Подключение к БД



Подключение к БД:

HTML-подвал:

Цикл считывания данных:


Fields.Count-1 %>


Fields.Count-1 %>

— Работа с программой
Для запуска программы следует в браузере набрать: http://localhost/web5/sales/php

7) ASP клоны и аналоги
Chili!Soft
Chili!Soft, продукт одноименной компании, — достаточно гибкий клон ASP, способный работать на разнообразном оборудовании, операционных системах и Web-серверах. Считается, что Chili!Soft и ASP совместимы на 90%.

Java Server Pages
Java Server Pages (JSP) – технология, напоминающая ASP, но в которой используется только язык Java в сочетании с HTML, для поддержки динамического формирования страниц на любой платформе с поддержкой Java. Аналогом COM-объектов являются объекты JavaBeans.

Apache::ASP
Apache::ASP на основе PerlScript от Apache Perl International Project работает на множестве операционных систем, но только с Web-сервером Apache.

PHP
Похожими возможностями обладает язык с открытой лицензией PHP. Правда технология PHP базируется на классических библиотеках объектных модулей, а не на использовании модели компонентного объекта COM и элементов управления ActiveX.

Илон Маск рекомендует:  Создание списков
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL