Серверные компоненты ActiveX
(Продолжительность занятия 30 минут)
Серверные компоненты ActiveX применяются на Web-сервере для реагирования на запросы пользователей. Эти компоненты позволяют расширить функциональные возможности активных страниц, предоставляя доступ к различным ресурсам сервера (например, к базе данных). Сейчас Вы узнаете, как применять объект Server для ответа на запросы пользователей, а также познакомитесь с пятью базовыми серверными компонентами ActiveX в составе Microsoft Internet Information Server (IIS).
Изучив материал этого занятия, Вы сможете:
- рассказать, как применять свойство ScriptTimeout и метод CreateObject объекта Server для ответа на запрос пользователя;
- описать пять базовых серверных компонентов в составе Microsoft IIS.
Объект Server
Объект Server обращается к компонентам ActiveX посредством метода CreateObject. Этот объект также позволяет задать время ожидания для серверных сценариев.
Синтаксис Для объекта Server применяется следующий синтаксис:
Server.свойство¦метод
Чтобы создать экземпляр серверного компонента ActiveX, воспользуйтесь методом CreateObject, указав зарегистрированное имя компонента. Свойство ScriptTimeout позволяет установить или определить максимальное время работы серверного сценария: по его окончании сценарий завершается и сообщает пользователю об ошибке.
Метод CreateObject
Первое, что Вам придется сделать для использования серверного компонента
ActiveX, — создать ссылку на него. Далее можно вызывать методы компонента,
а также задавать и считывать его свойства.
Метод CreateObject применяют и для создания ссылки на класс Java. Элементы управления ActiveX работают на компьютере пользователя, тогда
как серверные компоненты ActiveX расположены и выполняются на Web-сервере.
Пример Здесь создается
ссылка на компонент Browser Capabilities.
<% Set bc = Server. CreateObject("MSWC. Browser Type") %>
Серверные компоненты ActiveX позволяют инкапсулировать и повторно использовать функции общего назначения, например обращение к базе данных или запись информации в текстовый файл на Web-сервере.
Вы можете обращаться к компонентам, установленным на Web-сервере, через ASP-файл, содержащий метод CreateObject объекта Server.
Свойство ScriptTimeout
По умолчанию серверному сценарию предоставляется 90 секунд на выполнение. Это ограничение не относится к серверным сценариям, запустившим серверный компонент ActiveX, — такой сценарий не прекращает свою работу до окончания выполнения компонента.
Если для реализации сценария требуется больше времени, чем установлено по умолчанию в реестре Windows, измените значение тайм-аута активной страницы с помощью свойства ScriptTimeout. Это, в частности, обеспечит нормальное выполнение больших сценариев.
Пример Здесь свойство
ScriptTimeout объекта Server используется для увеличения времени выполнения
сценария:
<% Server.ScriptTimeout = 180 'SECONDS %>
Базовые компоненты
Чтобы упростить создание Web-приложений, в состав IIS включены пять серверных компонентов ActiveX, называемых также базовыми. В дополнение к ним Вы можете, используя различные инструментальные средства (например, Microsoft Visual Basic), создавать собственные серверные компоненты ActiveX.
Базовый компонент |
Описание |
Advertisement Rotator | Обновляет рекламные объявления на Web-странице в соответствии с заданным расписанием |
Browser Capabilities | Определяет возможности, тип и версию программы просмотра пользователя |
Database Access | Использует объекты данных ActiveX (ActiveX Data Objects, ADO) для обращения к информации, хранящейся в БД или другом табличном источнике данных |
Content Linking | Создает оглавление Web-узла и последовательно связывает страницы, как в обычной книге |
File Access | С помощью объекта FileSystemObject извлекает и изменяет информацию, хранящуюся в текстовом файле на сервере |
Когда Вы используете серверный компонент IIS Database Access, обращение к информации, хранящейся в БД, выполняет ADO.
Использование ADO в активных страницах
В этом упражнении Вы с помощью объекта доступа к данным подключитесь из активной страницы к источнику данных Northwind.
> Создание нового проекта
- Запустите Microsoft Visual InterDev.
- В меню File выберите пункт New.
- Запустите мастер Web Project Wizard.
- В поле Project Name введите ADO.
- В поле Location введите WA\Practice\ChlO\ado и нажмите ОК.
- Введите localhost в качестве имени сервера и нажмите Next.
- Нажмите Finish.
> Создание начальной страницы
- В меню File укажите пункт New и затем — вкладку Files.
- Выберите HTML Page.
- В качестве имени файла введите default.htm.
- Удалите комментарий Insert HTML here.
- Правой кнопкой мыши щелкните default.htm в окне File View и выберите пуни Open With.
- Выберите в списке пункт Microsoft Frontpage Editor и нажмите Open.
- В меню Insert выберите Form-Field, One-line Text Box.
- Правой кнопкой мыши щелкните текстовое поле и выберите в меню коман ду Form Field Properties.
- В поле Name введите txtID и нажмите кнопку ОК.
- Поместите точку вставки слева от текстового поля и наберите текст Введите ID сотрудника:.
- Поместите на форму кнопку, расположив ее на новой строке под текстовым полем.
- Правой кнопкой мыши щелкните форму и выберите в меню команду Form Properties.
- Щелкните Settings и в окне действий наберите employee.asp.
- Нажмите OK, чтобы вернуться в окно редактора Frontpage Editor.
- Сохраните эту страницу и закройте Frontpage Editor.
- Нажмите кнопку Yes для перезагрузки страницы в Visual InterDev.
- Посмотрите получившуюся страницу default.htm в Visual InterDev.
> Создание страницы с информацией о сотрудниках
- В меню File Visual InterDev выберите пункт New.
- На вкладке Files щелкните кнопку Active Server Page.
- В поле имени введите employee.asp и нажмите ОК.
- Замените комментарий
<!— Insert HTML Here —> приведенным ниже сценарием ASP, который создает
набор записей ADO:
<%
empid = request.form("txtID")
set rs = createobject("ADODB.Recordset")
SQL = "Select * From Employees Where EmployeeID = " & empid
rs.Open SQL, "DSN=nwind", adOpenKeyset
%>
- В окне FileView
щелкните правой кнопкой мыши файл employee.asp и выберите в меню команду
Release Working Copy, после чего нажмите кнопку Yes, чтобы сохранить изменения.
Перед тем как переименовать файл, обязательно поместите локальную копию файла на сервер.
- Правой кнопкой мыши
щелкните файл employee.asp и выберите пункт Rename.
Измените расширение файла на htm.
Теперь имя файла — employee.htm.
- Нажмите ОК.
- Правой кнопкой мыши щелкните файл employee.htm и выберите в меню пункт Open With.
- Выберите в списке пункт Microsoft Frontpage Editor и нажмите кнопку Open.
- Поместите точку вставки после значка HTML-разметки.
- Добавьте строку Информация о сотрудниках и выровняйте ее по центру.
- В меню Insert выберите горизонтальную разделительную линию.
- Добавьте две новых строки: Имя сотрудника: и Фамилия сотрудника:.
- Сохраните страницу и закройте Frontpage Editor.
- Откройте страницу employee.htm в окне кода Visual InterDev.
- Добавьте VBScript-ссылку
на поля FirstName и LastName набора записей HTML-страницы. Код будет
выглядеть примерно так:
<р>Имя сотрудника: <%= rs("firstname")%></p>
<р>Фамилия сотрудника: <%= rs("lastname")%></р>""
- Сохраните изменения.
- Поместите рабочую копию employee.htm на сервер, а затем переименуйте файл в employee.asp.
> Проверка страниц
- Правой кнопкой мыши щелкните файл default.htm и выберите в меню команду Preview in Browser.
- Введите в качестве идентификатора
сотрудника 1 и нажмите кнопку Submit.
На экране должны появиться имя и фамилия сотрудника с указанным идентификатором — Nancy Davolio.
- Закройте Internet Explorer и Visual InterDev.
Резюме
ActiveX-компоненты позволяют отвечать на запросы пользователей с помощью объекта Server и его методов. Первое, что надо сделать при применении серверных компонентов ActiveX, — создать ссылку на компонент посредством метода CreateObject. Далее Вы можете вызывать методы компонента, а также задавать и считывать его свойства.
В состав Microsoft Internet Information Server включены базовые компоненты (Advertisement Rotator, Browser Capabilities, Database Access, Content Linking и File Access), позволяющие упростить разработку Web-приложении. В дополнение к ним Вы можете создавать собственные серверные компоненты ActiveX, применяя такие средства разработки, как Microsoft Visual Basic. Когда Вы используете серверный компонент IIS Database Access, для доступа к информации в БД применяются объекты данных ActiveX.