Теперь давайте рассмотрим объект Application. Он предназначен для хранения глобальных переменных ASP-приложения, то есть переменных, которые доступны каждому сеансу приложения. Эти переменные находятся в коллекции Contents, к которой обычно обращаются сокращенно. Например, запишем следующий код в файл default.asp.
После этого исполним сценарий default.asp, а затем test.asp. Последний выведет строку test в окне браузера. Вообще, в какой бы сценарий приложения мы не вставили код test.asp, результат будет одним и тем же.
TimeOut
Первые два свойства это таблица кодировки и идентификатор локали. Их мы рассматривать не будем, так как они практически не используются.
Свойство SessionID доступно в режиме «только для чтения» и возвращает уникальный идентификатор сеанса. Использование:
Свойство TimeOut отвечает за время, через которое движок ASP прервет сеанс и удалит всю связанную с ним информацию на сервере. Установка этого свойства не позволяет оставлять данные о конкретном пользователе на сервере после того, как он отключился. Принимает значения в минутах. Например:
Объект Session имеет один метод Abandon, который позволяет принудительно прервать сеанс до истечения срока, указанного в свойстве TimeOut. Пример использования:
В объекте Session, как и в объекте Application, можно хранить данные. Для этого используются переменные уровня сессии. Например:
Кроме того, объект Session предоставляет разработчикам два события: Session_OnStart и Session_OnEnd, которые мы рассмотрим немного ниже.
Файл Global.asa
С чего начинается … нет, не Родина :-) web-приложение? Ответ такой: с файла Global.asa. Он является главным файлом приложения. В этом файле могут существовать только следующие элементы:
- Четыре события: Application_OnStart, Application_OnEnd, Session_OnStart, Session_OnEnd;
- Тэги <OBJECT>, которые применяются для создания экземпляров ActiveX-компонентов.
- Специальные мета-тэги, которые применяются для подключения библиотеки типов DLL-компонентов.
Примечание: файл Global.asa не обязательно должен присутствовать в приложении, но если уж он задействован, то непременно должен быть одним на все приложение.
Итак, рассмотрим события, которые могут находится в файле global.asa.
Они возникают примерно в таком вот порядке:
- При первом вызове какого-либо сценария движок ASP пытается найти файл global.asa в корне вашего web-приложения, а в нем обработчик события Application_OnStart.
- Если такой файл существует и есть обработчик события Application_OnStart, то код, содержащийся в нем, исполняется.
- Иначе движок пытается найти обработчик события Session_OnStart и исполнить код, содержащийся в нем.
- По завершении сеанса возникает событие Session_OnEnd.
Если разработчик изменил файл global.asa, а затем сохранил его, то приложение заканчивает работу и вызывается событие Application_OnEnd. Вообще, это событие возникает, когда приложение завершается (когда происходит перезапуск web-сервера, перезапуск компьютера и т. д.).
Создание экземпляров ActiveX-компонентов с помощью тэга <OBJECT> происходит следующим образом:
Атрибут RUNAT всегда принимает значение Server. Атрибут SCOPE определяет область видимости компоненты (Application или Session). ID это идентификатор, с помощью которого в дальнейшем можно будет получить доступ к объекту. Далее вы указываете PROGID или CLASSID, которые нужны, чтобы идентифицировать компонент.
Например, вы хотите создать экземпляр компонента BrowserCapabilities (он рассматривался выше), который был бы доступен каждому сеансу приложения. Для этого в файле global.asa необходимо написать примерно следующий код:
После этого вы получаете доступ к свойствам и методам данного компонента из любого сценария вашего приложения простым обращением к переменной MyBrowser. Например:
Также экземпляры ActiveX-компонентов можно создавать с помощью подключения библиотеки типов данной компоненты. Делается это следующим образом:
Атрибут TYPE всегда принимает значение TypeLib. В атрибуте FILE необходимо указать путь к библиотеке типов вашего компонента. UUID это уникальный идентификатор этой библиотеки. Указывать можно либо FILE, либо UUID. VERSION это, естественно, версия компоненты :-). Атрибут LCID отвечает за идентификатор локали.
Например, у вас есть библиотека динамической компоновки MyLib.dll, а у нее есть библиотека типов MyLib.lib. Вы можете подключить ее в файле global.asa вот таким способом:
Затем в любом сценарии приложения можно использовать этот компонент следующим образом:
На сегодня это все.
Удачного дизайна!
Источник: http://www.mycomp.com.ua/
Дополнительно на данную тему:
Представление в Internet содержимого каталога средствами ASP
Обзор ASP
PHP против ASP - делайте ставки, господа!
Знакомство с ASP: счетчик для IIS за 5 минут
25 советов по оптимизации ASP-приложений
Введение в ASP