Visual Basic 6. Руководство разработчика

       

и Application поддерживают события Start


Start и End
Объекты Session и Application поддерживают события Start (Начать) и End (Завершить), которые сигнализируют о начале и завершении сеанса и приложения соответственно. Эти события имеют следующий вид:
•  Scssion_OnStart
•  Application_OnStart
•  Session_OnEnd
• Application_OnEnd
Обработчики этих событий содержат код, который выполняется, когда приложение или сеанс стартуют и завершаются. Если приложение запускается одновременно с началом сеанса, то первым происходит событие Application_OnStart. Оба эти события важны при разработки ASP-приложсний. К сожалению, они недоступны из кода сценария. Их обработчики следует поместить в файл GLOBAL.ASA, который находится в корневой папке приложения (в ней находится первый ASP-файл, запрошенный клиентом). Обычно файл GLOBAL.ASA содержит обработчики событий Start и End объектов Session и Application, а также объявления переменных.
Например, если нужна переменная для хранения количества пользователей, подключенных к вашему узлу, то ее нужно инициализировать в обработчике события Application_OnStart. Для этого введите в файл GLOBAL.ASA следующие строки.
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application ("Visitors") = 0
End Sub
</SCRIPT>


Это событие происходит каждый раз, когда запускается программное обеспечение сервера. Поскольку разумнее не инициализировать переменную при каждом рестарте сервера, сохраните значение переменой Visitors в текстовом файле на диске сервера, как показано в гл. 20. Теперь можно в обработчике события Application_0n Start читать значение этой переменной и увеличивать его на 1 в обработчике события Session_OnStart.
<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnStart
Application.Lock
Application ("Visitors") = Application ("Visitors") + 1
Application.Unlock
End Sub
</SCRIPT>
Эту процедуру также следует поместить в файл
GLOBAL.ASA. При таком подходе значение счетчика не увеличивается, когда пользователь обращается к начальной странице в течение одного сеанса, поскольку событие Session_OnStart происходит только при первом обращении к начальной странице.


Отображение счетчика в какой- либо оригинальной форме является отдельной задачей. Пока можно просто выводить его значение шрифтом большого размера или генерировать GIF-файл и отображать его на стартовой странице. Элемент управления Structured Graphics, поставляемый с Internet Explorer 4.0, позволяет создавать достаточно сложные изображения несколькими строками кода. Исполь­зование этого элемента — простейший способ красочного отображения счетчика пользователей.
Если ваши Web-страницы во время сеанса часто обращаются к некоторому компоненту, то можно объявить объектную переменную в событии
Session_OnStart. Эта переменная будет доступна всем страницам в течение текущего сеанса. Приведем пример, в котором создается объектная переменная, ссылающаяся на компонент MyObject.
<CRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
Set Session ("MyObj") "Server.CreateObject ("MyObject")
End Sub
</SCRIPT>
Во время текущего сеанса любая страница может обращаться к пергменной MyObj, и одноименные переменные, принадлежащие разным сеансам, являются абсолютно независимыми.

Содержание раздела