Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11642
Последний выпуск: 19.06.2015

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

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

Общие сведения о компонентах

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

Даже при отсутствии навыков создания сценариев пользователь может писать сценарии с использованием компонентов, ничего не зная о том, как эти компоненты работают. В комплект поставки ASP входят готовые основные компоненты. Например, с помощью компонентов ADO (объектов данных ActiveX) нетрудно добавить к имеющимся веб-страницам возможности подключения к базам данных. Кроме того, дополнительные компоненты могут быть получены от независимых разработчиков.

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

Для создания компонентов могут использоваться любые языки программирования, поддерживающие компонентную модель объектов (COM), например C, C++, Java, Visual Basic и многочисленные языки сценариев. (Те, кто занимался программированием компонентов COM, знают эти компоненты под именем серверов программирования объектов OLE.) В компонентах COM, предназначенных для работы на веб-сервере, не должно быть элементов графического интерфейса пользователя, например функции Visual Basic MsgBox, поскольку элементы графического интерфейса будут отображаться только на сервере, но не в обозревателе.

Создание экземпляра объекта некоторого компонента.

Компонент — это исполняемый код, содержащийся в библиотеке динамической компоновки (.dll) или исполняемом файле (.exe). Компоненты предоставляют один или несколько объектов, каждый из которых является законченным набором инструкций, выполняющим в рамках данного компонента определенные функции. Каждый объект имеет методы (запрограммированные процедуры) и свойства (атрибуты функционирования). Чтобы воспользоваться объектом, предоставленным компонентом, следует создать один экземпляр нужного объекта и назначить ему имя переменной. Для создания экземпляра объекта примените метод ASP Server.CreateObject или тег HTML <OBJECT>. С помощью инструкции присвоения переменной, используемой в данном языке сценариев, присвойте экземпляру объекта некоторое имя. При создании экземпляров объектов им следует назначать зарегистрированные имена (PROGID). В случае использования основных компонентов ASP, имена PROGID для объектов можно узнать на страницах справочных сведений (см. раздел Устанавливаемые компоненты для ASP).

Например, компонент Ad Rotator представляет графические объявления, случайным образом извлекая их из некоторой последовательности объявлений. Компонент Ad Rotator предоставляет один объект. Он называется объектом Ad Rotator, его именем PROGID является «MSWC.AdRotator». Чтобы создать один экземпляр объекта Ad Rotator, воспользуйтесь одной из следующих инструкций:

Язык VBScript:

<% Set MyAds = Server.CreateObject("MSWC.AdRotator") %>

Язык Jscript:

<% var MyAds = Server.CreateObject("MSWC.AdRotator") %>

Тем, кто уже знаком с языками VBScript или JScript, следует обратить внимание на то, что функции языков сценариев непосредственно для создания нового экземпляра объекта не используются (функция CreateObject языка VBScript или функция New языка JScript). Для этого необходимо применить метод ASP Server.CreateObject, иначе контроль ASP за использованием этого объекта в сценариях будет утрачен.

Для создания экземпляра объекта можно также использовать тег HTML <OBJECT>. При этом необходимо указать атрибут RUNAT со значением Server, а также атрибут ID, указав в качестве значения ID имя переменной, которое будет использоваться в сценариях. Для идентификации объекта может использоваться либо зарегистрированное имя этого объекта (PROGID), либо его зарегистрированный номер (CLSID). В следующем примере для создания экземпляра объекта Ad Rotator применяется зарегистрированное имя (PROGID):

<OBJECT RUNAT=Server ID=MyAds PROGID="MSWC.AdRotator"></OBJECT>

В следующем примере экземпляр объекта Ad Rotator создается с помощью зарегистрированного номера (CLSID):

<OBJECT RUNAT=SERVER ID=MyAds
CLASSID="Clsid:1621F7C0-60AC-11CF-9427-444553540000"></OBJECT> 

Создание объектов COM с помощью сценариев

ASP поддерживает технологию Windows Script Components корпорации Майкрософт — мощный инструмент создания компонентов COM. В частности, нетрудно инкапсулировать сценарии общего назначения. Так, сценарии для доступа к базам данных или сценарии для создания содержимого можно включить в повторно используемые компоненты, которые будут доступны из любого файла .asp или программы. Компоненты Windows Script Components создают в виде сценариев, например, на языке VBScript или Jscript без использования каких-то особых средств разработки. Кроме того, компоненты Windows Script Components нетрудно включить в программы, написанные на любом совместимом с COM языке программирования, например Visual Basic, C++ или Java.

В следующем примере представлен компонент Windows Script Components, написанный на языке VBScript, в котором определены методы преобразования измерений температуры по Фаренгейту в температуру по Цельсию и наоборот:

<SCRIPTLET>

<Registration
	Description="ConvertTemp"
	ProgID="ConvertTemp.Scriptlet"
	Version="1.00"
>
</Registration>

<implements id=Automation type=Automation>
	<method name=Celsius>
		<PARAMETER name=F/>
	</method>
	<method name=Fahrenheit>
		<PARAMETER name=C/>
	</method>
</implements>

<SCRIPT LANGUAGE=VBScript>

  Function Celsius(F)
	  Celsius = 5/9 * (F - 32)
  End Function

  Function Fahrenheit(C)
	  Fahrenheit = (9/5 * C) + 32
  End Function

</SCRIPT>
</SCRIPTLET>

Перед реализацией этого компонента Windows Script Component необходимо сохранить данный файл с расширением .sct, а затем в окне проводника Windows щелкнуть этот файл правой кнопкой мыши и выбрать в контекстном меню команду Зарегистрировать. Чтобы использовать этот компонент Windows Script Component на веб-странице, следует написать следующий сценарий для сервера:

<%
  Option Explicit

  Dim objConvert
  Dim sngFvalue, sngCvalue

  sngFvalue = 50
  sngCvalue = 21

  Set objConvert = Server.CreateObject("ConvertTemp.Scriptlet")
%>

<%= sngFvalue %> degrees Fahrenheit is equivalent to <%= objConvert.Celsius(sngFvalue) %> degrees Celsius<BR>

<%= sngCvalue %> degrees Celsius is equivalent to <%= objConvert.Fahrenheit(sngCValue) %> degrees Fahrenheit<BR>

Использование встроенных объектов ASP

В ASP предусмотрены также встроенные объекты для решения различных полезных задач, упрощающих разработку веб-приложений. Например, объект Request позволяет получить доступ к данным, относящимся к некоторому HTTP-запросу. С помощью этого объекта можно, в частности, извлечь сведения, введенные пользователем в HTML-формы или модули настройки узла. В отличие от объектов COM, для использования встроенных объектов ASP в сценариях не нужно создавать экземпляры этих объектов. Указанные объекты автоматически создаются в момент начала обработки запроса ASP. Доступ к методам и свойствам встроенных объектов осуществляется так же, как и при использовании объектов, порожденных компонентами — соответствующее описание приведено выше в этом разделе. Полное описание встроенных объектов см. в разделе Краткий справочник по объектам ASP.

Вызов метода объекта

Методом называется действие, которое может быть выполнено над объектом или с помощью объекта. Синтаксис вызова метода:

Объект.Метод параметры

Параметры изменяются в зависимости от метода.

Например, метод Write встроенного объекта Response позволяет отправить данные в обозреватель, как показано в следующей инструкции:

<% Response.Write "Hello World" %>

Примечание.   Некоторые языки сценариев не поддерживают синтаксис Объект.Метод. Если используемый язык сценариев относится к таким языкам, необходимо добавить в реестр запись, чтобы этим языком можно было пользоваться как основным языком сценариев. Дополнительные сведения см. в разделе Работа с языками сценариев.

Задание свойства объекта

Свойство является атрибутом, описывающим объект. Свойства определяют характеристики объекта, например его тип, или описывают состояние объекта, например включен объект или отключен. Синтаксис:

Объект.Свойство

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

Например, у компонента Ad Rotator есть свойство Border, которое указывает, окружено ли объявление границей, и задает толщину этой границы. Следующее выражение определяет, что граница отсутствует:

<% MyAds.Border = 0 %>

Для некоторых свойств имеется возможность отобразить текущее значение с помощью директивы вывода ASP. Например, следующая инструкция возвращает значение TRUE, если обозреватель все еще подключен к серверу:

<%= Response.IsClientConnected %>

Создание объекта на основе класса Java

Экземпляр класса Java можно создать посредством метода Server.CreateObject. Для этого необходимо зарегистрировать этот класс в качестве компонента COM с помощью программы JavaReg. Затем следует применить метод Server.CreateObject или воспользоваться тегом HTML <OBJECT> с атрибутом PROGID или CLSID.

Другой способ предусматривает использование механизма специальных имен Java, когда экземпляр класса Java создается непосредственно, без обращения к программе JavaReg. Чтобы создать экземпляр класса с помощью специальных имен, воспользуйтесь имеющейся в языках VBScript и JScript инструкцией GetObject и укажите полное имя класса Java в формате java:ИмяКласса. Следующий пример программы на языке VBScript иллюстрирует создание экземпляра класса Java Date.

<%
  Dim dtmDate
  Set dtmDate = GetObject("java:java.util.Date")
%>

Датой является <%= dtmDate.toString() %>

Объекты, созданные путем вызова метода CreateObject вместо Server.CreateObject, также могут обращаться к встроенным объектам ASP и участвовать в транзакциях. Однако для применения специальных имен Java требуется виртуальная машина Microsoft версии 2.0 или более поздней.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог