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


         

События


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 происходит только при первом обращении к начальной странице.




Содержание  Назад  Вперед